我有两个安装了 cron 和 postfix 的 Debian 11 盒子。两者似乎都有完全相同的配置(但可能不是),其中一个确实将 cron 输出传送到正确的 /var/mail/user 文件,而另一个似乎对输出没有任何处理。
我发现很难找到解决方案,因为大多数人似乎在向外部地址发送邮件时遇到了问题,而我只想将其发送到 /var/mail/user。
如果我运行类似的程序,两者都可以正常工作echo hi | mail user
。
我该如何调试?可能是什么原因造成的?
答案1
调试通常从检查日志开始:
cron 是否正在运行并实际执行批处理?
请检查 cron 日志。
如果没有:请参阅为什么我的 crontab 不工作?我该如何排除故障?您的批处理是否真的生成输出?因为没有 stdout,cron 不会向您发送电子邮件。检查您现有的作业(用于输出重定向),也许创建一个确实生成输出的测试作业。
cron 是否配置为禁止发送邮件?
检查 cron 配置和/或批处理规范中是否存在(空)MAILTO
变量。
检查crond 启动-m off
选项,可以使用或不正确的邮件命令禁用邮件。cron 是否配置为通过 syslog 记录而不是发送电子邮件?
检查crond 启动选项,邮件被抑制并通过 重定向到 syslog-s
。