CRON 不将输出发送到电子邮件,但写入输出 /var/log/cron

CRON 不将输出发送到电子邮件,但写入输出 /var/log/cron

我有一台 Rocky 8.5 服务器。Cron 中的初始设置如下(与我们的其他服务器相同,它们可以很好地转发 cron 输出电子邮件)

HOSTNAME=xxxx
CVS_RSH=ssh
MAILTO=yyyy@zzzz

35 * * * * /usr/bin/echo "XXXXX 123 CRON REDIRECT CAPTURE" >/tmp/mycommand.log 2>&1

它运行良好,并写入日志。但我希望它发送一封带有输出的电子邮件。如果我得到直接调用 sendmail 的命令,它也能正常工作,这意味着它可以正常发送电子邮件。

42 * * * * /usr/bin/echo "XXXXX 123 CRON REDIRECT CAPTURE" | sendmail -v <my email> 2>&1

工作正常。

然而,如果我有

35 * * * * /usr/bin/echo "XXXXX 123 CRON REDIRECT CAPTURE" 2>&1

这将以写信的方式发送,/var/log/cron而不是通过电子邮件发送。

Oct 27 16:35:01 <host> CROND[1836181]: (<user>) CMD (/usr/bin/echo "XXXXX 123 CRON REDIRECT CAPTURE"  2>&1 )
Oct 27 16:35:01 <host> CROND[1836176]: (<user>) CMDOUT (XXXXX 123 CRON REDIRECT CAPTURE)

我是否遗漏了某个步骤或其他 CRON 配置?我在手册页等中找不到任何其他提及的内容(除了它说 crond -s 将转发到系统日志)。

我可以看到 cron 正在运行

root        1296       1  0 <date> ?        00:02:35 /usr/sbin/crond -n

如果有任何区别的话,sendmail 实际上是 exim 的链接,但从控制台手动测试时似乎工作正常。

答案1

只需重新启动 cron 即可解决

service crond restart

不确定导致它出错的根本问题是什么。可能是重新启动了损坏的电子邮件设置的服务器,该设置后来已修复,但也许修复后 cron 需要重新启动?

相关内容