@Mortech

Необходимо чтобы информация о неудачном запуске через кронтаб любого задания направлялась на определенный email?

Есть php скрипт /home/clients/test_ftp0/domains/example.com/html/sendEmail.php. К нему задан 00 9,15 * * 1,3,5 wget example.com/sendEmail.php. Как сделать так, чтобы вся информация об ошибках со всех доменов на этом аккаунте отсылалась на определенный почтовый адрес?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
dyuriev
@dyuriev
A posteriori
в начало crontab'а (sudo -u %username% crontab -e) добавьте строку
MAILTO=
с нужным мылом.

А вывод STDOUT команды занулите в /dev/null, чтобы успешные выполнения вам не прилетали.

MAILTO=email@example.com
0 */2 * * * /bin/backup.sh > /dev/null


PS: запускайте не через wget, а перепишите на php-cli и вынесите за пределы document_root сайта, чтобы из вне нельзя было до него достучаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
задаем set_error_handler выбрасывающий ErrorException(см.мануал) и оборачиваем код в try/catch, в catch блоке логируем ошибку с помощью syslog, для открытия лога используем openlog с аргументом facility = LOG_MAIL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы