Страница 1 из 1

crontab удаление файлов старше 30 дней

Добавлено: 2023-05-20 17:50:47
Happy_Man
Добрый день, вроде банальная задача, удалять из папки спам почтового сервера письма старше 30 дней
Установлен FreeBSD
Добавляю в crontab -e

Код: Выделить всё

0 1 * * * root	/usr/bin/find /var/mail/SApermreject -type f -mtime +30 -exec rm {} \;
удалять каждый день в час ночи, для теста сейчас выставил каждые 5 минут
задача выполняется, но в папке файлы все остаются, кусок лог cron

Код: Выделить всё

May 20 01:00:00 mail /usr/sbin/cron[94860]: (root) CMD (root^I/usr/bin/find /var/mail/SApermreject/new -type f -mtime +30 -exec rm {$
пробовал и с косой чертой в конце и без, задача выполняется, файлы не удаляются

Код: Выделить всё

May 20 17:05:00 mail /usr/sbin/cron[10989]: (root) CMD (root^I/usr/bin/find /var/mail/SApermreject -type f -mtime +30 -exec rm {} \;)
May 20 17:10:00 mail /usr/sbin/cron[11061]: (root) CMD (root^I/usr/bin/find /var/mail/SApermreject -type f -mtime +30 -exec rm {} \;)
May 20 17:15:00 mail /usr/sbin/cron[11369]: (root) CMD (root^I/usr/bin/find /var/mail/SApermreject -type f -mtime +30 -exec rm {} \;)
попробовал через delete

Код: Выделить всё

May 20 17:25:00 mail /usr/sbin/cron[11986]: (root) CMD (root^I/usr/bin/find /var/mail/SApermreject -type f -mtime +30 -delete)
файлы на месте.

Код: Выделить всё

May 20 17:30:00 mail /usr/sbin/cron[12406]: (root) CMD (root^Ifind /var/mail/SApermreject -type f -mtime +30 -delete)
файлы на месте.

если с консоли под пользователем root выполнить команду

Код: Выделить всё

find /var/mail/SApermreject/ -type f -mtime +30 –delete
то файлы в каталоге удаляются
Подскажите что я делаю не так?

crontab удаление файлов старше 30 дней

Добавлено: 2023-05-20 19:40:22
guest
не перенаправляете stdout и stderr

crontab удаление файлов старше 30 дней

Добавлено: 2023-05-20 21:26:52
Happy_Man
разобрался, вот такой формат правильный, проверил работает

Код: Выделить всё

0 1 * * * /usr/bin/find /var/mail/SApermreject -type f -mtime +30 -exec /bin/rm -f {} \;

crontab удаление файлов старше 30 дней

Добавлено: 2023-05-23 17:27:11
lazhu
ну да, забыли для rm полный путь указать

crontab удаление файлов старше 30 дней

Добавлено: 2023-05-23 18:49:54
Happy_Man
lazhu писал(а):
2023-05-23 17:27:11
ну да, забыли для rm полный путь указать
не только, имя root надо было еще убрать
оно крон и так руутом запускает
вот тут видно было

Код: Выделить всё

(root) CMD (root^I/usr/bin/find