Моя текущая cronjob
* 10 * * * /bin/find /var/spool/record/ -type f -exec /bin/rm {} +
Он удаляет все файлы каждый день в 10 утра.
Я пытаюсь удалить определенный файл размером менее 90 КБ в текущем каталоге. для этого
* 10 * * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -size -90K -exec /bin/rm {} +
Меня беспокоит, что указанный выше синтаксис удалит также файлы GSM из подкаталога, которые будут созданы в / var / spool / record / daily и будут вести учет для этой конкретной даты. Как / var / spool / record / date1, / var / spool / record / date2.
Я также хочу удалить файл GSM старше 60 дней в / var / spool / record / и его подкаталог 10 числа каждого месяца в 10:00.
* 10 10 * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -mtime +60 -exec /bin/rm {} +
Какой был бы правильный синтаксис для подкаталога del и файла, которые старше 60 дней.
Написанная вами cron будет запускаться каждую минуту с 10:00 до 10:59. Используйте следующее, чтобы исправить это:
00 10 10 * * / bin / find / var / spool / record / -type f -name "* .gsm" -mtime +60 -exec / bin / rm {} \;
Это приведет к удалению файлов .gsm из / var / spool / record и его подкаталогов, которые старше 60 дней в 10 утра и 10 числа каждого месяца.