我已经在 crontab 中安排了一个脚本,take_backup.sh
如下所示
00 19 * * * bash /home/test/take_backup.sh > /home/test/backup.log 2>&1 || mail -s "Backup failed, check attached logs" [email protected] < /home/test/backup.log
要求是,当 cron 失败且退出代码非零时,仅发送带有日志的电子邮件通知。我在脚本中设置了日志和退出代码,以提供更多详细信息backup.log
。但是,当这个 cron 失败时,我没有收到任何通知。
我哪里做错了?
答案1
如果“邮件”部分成功,那么 cron 作业就成功了(因此代码为零)
00 19 * * * bash /home/test/take_backup.sh > /home/test/backup.log 2>&1 || ( mail -s "Backup failed, check attached logs" [email protected] < /home/test/backup.log && false )