是否有任何方法可以在CentOS 7 EC2示例上警告可能因任何原因而无法执行的cron作业?我正在寻找一个工具或审查一个过程,其他人可能会使用类似的东西。
szqfcxe21#
这里有一个很好的答案来回答你的问题:https://unix.stackexchange.com/questions/314640/how-to-make-cron-send-email-with-error-log-when-script-throws-errors总之,它说:
20 6-10 * * 1-5 ~/job_failure_test.sh > ~/job_fail.log 2>&1 || mail -s "Errors" myemail@something.com < ~/job_fail.log
但是请点击问题的链接,因为那里有一些很好的提示。
c90pui9n2#
要在每次计划运行的cron作业失败时收到电子邮件,请执行以下操作:1.将所有标准输出重定向到/dev/null或某个文件。1.使用MAILTO环境变量,其中包含要接收电子邮件通知的所有电子邮件地址的列表(逗号分隔)。为了避免对每个运行的任务使用相同的MAILTO值,您可以将其写入crontab中,例如:
/dev/null
MAILTO
MAILTO="foo@bar.com" 0 5 * * * /bin/some_script > /dev/null
MAILTO="foo@bar.com"到crontab的顶部将导致cron作业的任何输出通过电子邮件发送。因此,我们将STDOUT重定向到null,如果存在任何STDERR消息,它们将通过电子邮件发送给您。SRC
MAILTO="foo@bar.com"
crontab
STDOUT
null
STDERR
2条答案
按热度按时间szqfcxe21#
这里有一个很好的答案来回答你的问题:https://unix.stackexchange.com/questions/314640/how-to-make-cron-send-email-with-error-log-when-script-throws-errors
总之,它说:
但是请点击问题的链接,因为那里有一些很好的提示。
c90pui9n2#
要在每次计划运行的cron作业失败时收到电子邮件,请执行以下操作:
1.将所有标准输出重定向到
/dev/null
或某个文件。1.使用
MAILTO
环境变量,其中包含要接收电子邮件通知的所有电子邮件地址的列表(逗号分隔)。为了避免对每个运行的任务使用相同的MAILTO值,您可以将其写入crontab中,例如:
MAILTO="foo@bar.com"
到crontab
的顶部将导致cron作业的任何输出通过电子邮件发送。因此,我们将STDOUT
重定向到null
,如果存在任何STDERR
消息,它们将通过电子邮件发送给您。SRC