通过电子邮件通知cron作业中的错误

您希望通过电子邮件通知执行cron作业时发生的错误。

我使用CentOS和文件/ etc / crontab进行configuration。

我做的第一步是:

MAILTO=my_email_address 

然后我将其添加到每个crontab项:

 2>/dev/null 

这意味着这一点

 24 4 * * * root /usr/sbin/ntpdate pool.ntp.org 

变为:

 24 4 * * * root /usr/sbin/ntpdate pool.ntp.org 2>/dev/null 

这样,我应该抑制正常的输出,并让错误信息被发送。

我想知道你是否认为我所做的是正确的,是否有任何的陷阱。

谢谢,丹

实际上,我认为你已经完成了你想要的东西的确切反转。 你已经抑制了错误信息(通过发送STDERR到/ dev / null),只会得到正常的输出。

尝试

 24 4 * * * root /usr/sbin/ntpdate pool.ntp.org > /dev/null 

更好的是,运行ntpd; 保持你的时钟同步的好方法比每天一次强制重置它们更好。

IIRC cron通过电子邮件发送命令的输出 ,所以如果你禁止错误(把它们扔在/ dev / null ),你将只收到命令输出而不是错误。 我发现了一个很好的脚本:crontab,它包含crontab中的命令,并且完全按照你的要求:只发送错误的电子邮件。