Crontab и перенос строки

Сегодня обнаружил, что на тестовом сервере не работает один из кронов – рассылка писем. Каждое утро скрипт, вызываемый кроном, должен был рассылать спам напоминания о незавершенных задачах.

Задание в крон поставил позавчера вечером. Ни вчера, ни сегодня на мейл ничего не пришло. Вначале подумал, что может проблемы с самим скриптом. Запустил вручную – письма пришли как положено. Тогда полез в логи крона и обнаружил, что скрипт рассылки не вызывается вообще.

При просмотре списка заданий крона, ничего не вызывало подозрений… Все по формату, все как положено. Пути к скрипту корректные. Но запись команды, которая не вызывалась, была последней строкой. И вот тут-то я провтыкал, провтыкал сделать перевод строки. В crontab последняя запись должна заканчиваться переводом строки, иначе не будет выполнена. То есть, после последней записи в crontab еще должна быть пустая строка. Будьте внимательны, не провтыкайте как я 🙂

ЗЫ: логи крона за прошедший день обычно лежат в файле

/var/log/cron