У меня есть эта строка в моем 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 делает в системный журнал, например, с помощью регистратора:
1 * * * * root find /var/log/abc/ -mtime +7 -type f -delete 2>&1 | logger -t cron_find_delete
2> & 1
в конце будет записывать бросить в регистратор Sterr и stdout.