Назад | Перейти на главную страницу

Получать уведомление по электронной почте, когда мой cron выходит из строя с ненулевым кодом выхода - Crontab

Я запланировал сценарий take_backup.sh в crontab вот так

00 19 * * * bash /home/test/take_backup.sh > /home/test/backup.log 2>&1 || mail -s "Backup failed, check attached logs" someone@gmail.com < /home/test/backup.log

Требование состоит в том, чтобы отправлять уведомление по электронной почте с прикрепленными журналами только в случае сбоя cron с ненулевым кодом выхода. Я настроил журналы и коды выхода в скрипте, чтобы предоставить более подробную информацию в backup.log. Однако, когда этот cron выходит из строя, я не получаю никаких уведомлений.

Где я ошибаюсь?

если "почтовая" часть завершилась успешно, значит, задание cron выполнено успешно (и, следовательно, код равен нулю)

 00 19 * * * bash /home/test/take_backup.sh > /home/test/backup.log 2>&1 || ( mail -s "Backup failed, check attached logs" someone@gmail.com < /home/test/backup.log && false )