Как я могу использовать cronjob, когда другая программа приводит к сбою команд в cronjob? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть задание cron, которое cd входит в каталог и выполняет действия.

Например:

0 12,00 * * * cd /var/lib/test/0001 && cp *.zip /home/bobby/

Однако программа, которая создает файлы .zip в /var/lib/test/0001 меняет имя каталога каждый день. Таким образом, на второй день, каталог /var/lib/test/0002 и на третий день /var/lib/test/0003 и так далее. Эта модель не может быть изменена.

Конечно, когда каталог мигрирует с 0001 на 0002, cronjob завершается неудачей.

Есть ли способ использовать cron для cd в 000* и затем 001* и так далее, чтобы команда cp была запущена? Возможно, есть альтернативный способ? Спасибо.

РЕДАКТИРОВАТЬ 13 МАРТА:

Есть еще одна проблема, которую мне трудно решить.

Я хочу только cp файлы, размер которых превышает определенный размер файла. Я хочу скопировать ZIP-файлы в /home/bobby/, которые имеют размер более 28 000 байт. Если они меньше 28 000 байт, они не копируются. Как бы я это сделал, спасибо?

Как и раньше, это произойдет в /var/lib/test/**** (где **** увеличивается от 0000 до FFFF и увеличивается с каждым днем).

1 Ответ

1 голос
/ 11 марта 2020

Это можно сделать с помощью примера сценария:

dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/

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

...