На протяжении долгого времени мы сталкиваемся с большим количеством писем уведомлений о выполнении CRON задач. Сегодня мы предприняли отключить их.
В статье мы расскажем, как это делается и из-за чего принято данное решение.
Главной причиной послужило
образований огромных очередей по причине переполнения почтовых ящиков пользователей и зависания этих самых уведомлений. Происходит это по причине того, что пользователи, которые настраивают CRON задачи,
не отправляют вывод в /dev/null и весь вывод отправляется автоматически на системный ящик пользователя.
Отключить отправление почты для конкретной задачи можно следующим образом:
*/1 * * * * date >> /dev/null 2>&1
В качестве примера, данная задача ежеминутно выводила бы время и отправляла его на системный ящик пользователя на хостинге. Если бы вывод не был направлен в /dev/null (текст выделен жирным), то со временем бы у пользователя кончилось бы дисковое пространство или же число доступных файлов. Это повлекло бы ошибки в работе сайтов и образование почтовой очереди на сервере, что негативно влияет на производительность.
Так как подобные обращения не единичные случаи, с сегодняшнего дня подобные уведомления отключены глобально. В операционных системах семейства RHEL (CloudLinux, CentOS, Fedora и прочие) это делается путем редактирования файла /etc/sysconfig/crond
Settings for the CRON daemon.
CRONDARGS= : any extra command-line startup arguments for crond
CRONDARGS="-m off"
Обратите внимание на опцию "-m off", если обратиться к документации, то именно она глобально отключает почтовые уведомления. После изменения файла необходимо перезапустить службу с помощью команды service crond restart