ОБРАТИТЕ ВНИМАНИЕ : Я прочитал все подобные вопросы повторно. cron, paths, env-переменные и так далее, но не нашли ни одного, который предлагал бы решения моей конкретной проблемы.
У меня есть скрипт, который делает некоторые дампы MySQL, а затем удаляет старые, как это:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
( команда выше была изменена из моей первоначальной команды предложениями из комментариев )
Однако файлы никогда не удаляются, когда cron запускает этот скрипт. Пользователь cron - root.
Отладка заметок
Если я вручную запускаю сценарий, в котором появляется команда, он удаляет их, как и ожидалось.
Если я запускаю указанную выше команду find самостоятельно из командной строки от имени пользователя root, она удаляет их, как и ожидалось (и с параметром -print возвращает список файлов старше 5 дней, как и ожидалось)
Я также добавил явную инструкцию path в crontab root, но
это ничего не меняет.Cron не отправляет сообщение об ошибке, и если я передам операцию поиска в файл журнала, он
будет пустым или не будет создан вообще.Я использую сервер Ubuntu 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
Команды запускаются через оболочку, а оболочка расширяет подстановочные знаки.
cron
следует отправить письмо с выводом и сообщениями об ошибках. Вы получаете такое письмо от этой работы?