两个相同的 Debian 盒子,只有一个在 /var/mail 中提供 cron 输出

两个相同的 Debian 盒子,只有一个在 /var/mail 中提供 cron 输出

我有两个安装了 cron 和 postfix 的 Debian 11 盒子。两者似乎都有完全相同的配置(但可能不是),其中一个确实将 cron 输出传送到正确的 /var/mail/user 文件,而另一个似乎对输出没有任何处理。

我发现很难找到解决方案,因为大多数人似乎在向外部地址发送邮件时遇到了问题,而我只想将其发送到 /var/mail/user。

如果我运行类似的程序,两者都可以正常工作echo hi | mail user

我该如何调试?可能是什么原因造成的?

答案1

调试通常从检查日志开始:

  1. cron 是否正在运行并实际执行批处理?
    请检查 cron 日志。
    如果没有:请参阅为什么我的 crontab 不工作?我该如何排除故障?

  2. 您的批处理是否真的生成输出?因为没有 stdout,cron 不会向您发送电子邮件。检查您现有的作业(用于输出重定向),也许创建一个确实生成输出的测试作业。

  3. cron 是否配置为禁止发送邮件?
    检查 cron 配置和/或批处理规范中是否存在(空)MAILTO变量。
    检查crond 启动-m off选项,可以使用或不正确的邮件命令禁用邮件。

  4. cron 是否配置为通过 syslog 记录而不是发送电子邮件?
    检查crond 启动选项,邮件被抑制并通过 重定向到 syslog -s

相关内容