Помогите разобраться

Обсуждение программ nnCron и nnCron LITE

Re: Помогите разобраться

Postby Headcrab » Mon, 09 Jun 2014, 14:54

Напишу сюда же, поскольку название темы вполне соответствует.

Есть простейшая задача по переносу файлов. Которая в начале по маске копирует одни файлы в одну папку а затем копирует остальные оставшиеся.
Задача:
Code: Select all
#( report_in
AsLoggedUser
Time: * 7-23 * * * *
Action:
\ копируем файлы отчётности в директорию для входящих, перемещаем в "today"
   FOR-FILES: "D:\Work\Incoming\Info\??????30.777"
      FILE-EXIST: "D:\Work\today\%FOUND-FILENAME%"
      IF
         S" ********** Файл с именем %FOUND-FILENAME% ранее уже был перемещён в D:\Work\Reports" CRON-LOG
         FILE-DELETE: "%FOUND-FULLPATH%"
      ELSE
         FILE-COPY: "%FOUND-FULLPATH%" "D:\Work\Reports\"
         FILE-MOVE: "%FOUND-FULLPATH%" "D:\Work\today\"
         S" ********** Файл %FOUND-FILENAME% перемещён в D:\Work\Reports" CRON-LOG
      THEN
   ;FOR-FILES
\ копируем информационные файлы в директорию Info, перемещаем в "today"
   FOR-FILES: "D:\Work\Incoming\Info\*.*"
      FILE-EXIST: "D:\Work\today\%FOUND-FILENAME%"
      IF
         S" ********** Файл с именем %FOUND-FILENAME% ранее уже был перемещён в D:\Work\Info" CRON-LOG
         FILE-DELETE: "%FOUND-FULLPATH%"
      ELSE
         FILE-COPY: "%FOUND-FULLPATH%" "D:\Work\Info\"
         FILE-MOVE: "%FOUND-FULLPATH%" "D:\Work\today\"
         S" ********** Файл %FOUND-FILENAME% перемещён в D:\Work\Info" CRON-LOG
      THEN
   ;FOR-FILES
)#

Не так давно потеряли файл, который судя по логу ушёл не в ту директорию
Лог:
Code: Select all
11:36:00 4744 TASK: 1
11:36:00 [b]4172[/b] ********** Файл mz508_30.777 перемещён в D:\Work\Reports
11:36:00 [b]4172[/b] ********** Файл mz507_30.777 [b]перемещён в D:\Work\Info[/b]
11:37:00 4692 TASK: 2
11:37:00 4188 TASK: 3
11:37:00 5648 TASK: 4

т.е. я так понимаю это произошло когда первая часть задачи (перенос по расширению 777) уже отработала и в этот момент в папке D:\Work\Incoming\Info появился ещё один файл с расширением 777 и он по второму правилу в задаче ушёл в другую папку.
правда смущает что по времени в логе обе задачи запустились в одно время, но один раз она отработала нормально а второй раз уже нет.


Подскажите как можно избежать такого в будущем.
Идеальным было бы реализовать во втором пункте задачи копирование всех файлов кроме определённой маски, но как это реализовать я не понял.
команда FOR-FILES: с параметром 0= просто так не работает (я так понимаю этому слову необходимо обязательно условие, IS-DIR, IS-......)
Headcrab
 
Posts: 19
Joined: Fri, 21 Feb 2014, 14:05

Re: Помогите разобраться

Postby Morituruz » Mon, 09 Jun 2014, 15:07

Headcrab wrote:Идеальным было бы реализовать во втором пункте задачи копирование всех файлов кроме определённой маски, но как это реализовать я не понял.

Проверять имена файлов через регулярные выражения:
http://www.nncron.ru/help/RU/commands/regexp.htm
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Помогите разобраться

Postby Headcrab » Mon, 09 Jun 2014, 15:15

Morituruz wrote:Проверять имена файлов через регулярные выражения:
http://www.nncron.ru/help/RU/commands/regexp.htm


Я всё понял, буду переделывать. Спасибо!
Headcrab
 
Posts: 19
Joined: Fri, 21 Feb 2014, 14:05

Previous

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron