У меня такой cronjob:
MAILTO=mymail@mydomain.com
30 00 * * * root /run/this/script.sh
Есть ли способ указать cron отправлять почту на разные почтовые адреса на основе кода выхода? Я имею в виду, может ли cron отправить электронное письмо на allok@mydomain.com в случае, если script.sh вернет 0, или отправить на error@mydomain.com, если что-то пошло не так? Или я должен делать это в скрипте-обертке?
Вам нужно будет сделать это в сценарии-оболочке.
Нет, cron отправляет весь вывод указанному пользователю.
Обычно все задания cron должны иметь STDOUT, перенаправленный на / dev / null, потому что вы не хотите спамить пользователя всеми заданиями cron, которые выполняются на сервере.
Если вы сделаете это (перенаправление), вы получите письмо только в случае сбоя.
Да, ты можешь это сделать. Просто добавь > / dev / null после вашего CRON скрипта.
MAILTO="mymail@mydomain.com"
30 00 * * * root /run/this/script.sh > /dev/null
Проверять, выписываться https://cronitor.io. Он может отправлять вам предупреждения, если ваша работа не удалась. Вы пишете свою команду cron следующим образом:
0 * * * * /path/to/my_cron_job.sh || curl https://cronitor.link/d3x0/fail
Вы также можете проверить связь с конечной точкой / complete, чтобы указать на успех, и вы можете создать правило вроде «Оповестить меня, если у меня не было успешной / полной проверки за 24 часа».