CRON 作业发送电子邮件,但我没有配置它

CRON 作业发送电子邮件,但我没有配置它

我总是查看日志以查看任何可疑内容。但是,我今天才注意到这些日志:

Aug 3 06:32:10 nori-hidamari anacron[1234]: Job 'cron.daily' terminated (mailing output)
Aug 3 06:32:10 nori-hidamari anacron[1234]: Job 'cron.weekly' started
Aug 3 06:32:10 nori-hidamari postfix/sendmail[3443]: fatal: open /etc/postfix/main.cf: No such file or directory
Aug 3 06:32:10 nori-hidamari anacron[1234]: Tried to mail output of job 'cron.daily', but mailer process (/usr/sbin/sendmail) exited with status 75

奇怪的是,我从未对任何 cron 文件进行过任何更改。即使它没有发送电子邮件,这也是具有默认配置的 cron 的正常行为吗?

谢谢你们帮助我。

答案1

是的,默认情况下,电子邮件将发送给 MAILTO 变量指定的任何对象或 crontab 所有者,并且每次有 cron 作业输出时都会发送。摘自 cron(8) 手册页:

cron 每分钟唤醒一次,检查所有存储的 crontab,检查每个命令是否应在当前分钟运行。执行命令时,任何输出都会邮寄给 crontab 的所有者(或 crontab 中 MAILTO 环境变量中指定的用户,如果存在)。

但是,您似乎遇到了 postfix/sendmail 配置问题,或者更准确地说,您的 postfix 到 sendmail 兼容接口配置问题。它似乎配置不正确。

如果你想了解退出状态 75 的含义,请查看向上:

EX_TEMPFAIL 可恢复错误:EX_TEMPFAIL 退出代码(值 75) 由 sendmail 返回,表示发生了临时错误。临时错误意味着邮件消息将暂时放入(或保留在)队列中,稍后将再次尝试投递。

要重新配置postfix,请从 cmd 行执行以下操作:

$ dpkg-reconfigure postfix

只要正确安装了 postfix,这应该可以解决您的问题。

main.cf要确定包含 Postfix和配置文件的目录的位置master.cf,请从 cmd-line 执行以下操作:

$ postconf config_directory

检查你的配置文件以确保你的配置正确。

为了完整起见,您应该知道 Postfix 还有一个日志程序,以备需要配置调试时使用。在我的机器 (Trusty LTS) 上,它的日志文件位于/var/log/mail.log。在日志中查找引自 的关键字/usr/share/doc/postfix/DEBUG_README

  • “panic” 表示软件本身存在问题,只有程序员才能修复。修复此问题后,Postfix 才能继续运行。

  • “致命”是由于缺少文件、权限不正确、配置文件设置不正确而导致的,您可以修复这些问题。修复这些问题之前,Postfix 无法继续运行。

  • “error” 报告错误情况。出于安全原因,当发生超过 13 个错误时,Postfix 进程将终止。

  • “警告”表示非致命错误。这些问题可能无法修复(例如网络上其他地方的 DNS 服务器损坏),但也可能表示本地配置错误,这些错误以后可能会成为问题。

如果这不能解决问题,则必须使用 Ubuntu 上提供的调试工具进行更深入的分析,以确定问题所在。我认为这超出了你的问题范围。

相关内容