我有这样的cronjob:
[email protected] 30 00 * * * root /run/this/script.sh
有没有办法告诉cron根据退出代码发送邮件到不同的邮件地址? 我的意思是,可以cron发送电子邮件到[email protected]的情况下script.sh返回0或发送到[email protected]万一出了问题? 或者我必须在包装脚本中做到这一点?
你将不得不在包装脚本中做到这一点。
不,cron发送所有输出到指定的用户。
通常,所有的cron作业都应该将STDOUTredirect到/ dev / null,因为您不希望使用服务器上运行的所有cron作业来垃圾邮件。
如果你这样做(redirect),只有在失败的情况下,你才会收到邮件。
看看https://cronitor.io 。 如果您的工作失败,它可以发送警报。 你这样写你的cron命令:
0 * * * * /path/to/my_cron_job.sh || curl https://cronitor.link/d3x0/fail
您也可以ping一个/完整的端点来表示成功,您可以制定一个规则,如“如果我在24小时内没有成功/完成ping,则通知我”。