Назад | Перейти на главную страницу

crontab не работает для удаления старых файлов из папки журнала

У меня есть эта строка в моем crontab для удаления старых файлов:

1 * * * * find /var/log/abc/ -mtime +7 -type f -delete

К сожалению, это не работает.

Я попытался разрешить всем пользователям очистить эту папку, используя

chmod +777 /var/log/abc

Но chmod не работал. Что еще я мог попробовать?


Следуя предложениям по регистрации вывода, я обнаружил, что это в журналах:

/bin/sh: 1: find: not found

Поэтому я думаю, что мне нужно правильно указать свой путь ...

В качестве хорошей практики добавьте пользователя, который будет запускать этот crontab.

1 *    * * *   root    find /var/log/abc/ -mtime +7 -type f -delete

Вы доказали, что находка корректно работает вне cron?

Попробуйте выполнить его вручную и посмотрите, что произойдет, с cron все в порядке.

В качестве второй полезной практики попробуйте записать то, что cron делает в syslog, например, используя logger:

1 *    * * *   root    find /var/log/abc/ -mtime +7 -type f -delete 2>&1 | logger -t cron_find_delete

В

2> & 1

в конце собирается бросить в регистратор Sterr и stdout.