Я запланировал сценарий 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 )