我已经为 root 用户设置了 cronjob。但是,当 cron 失败时,我应该会收到来自 cronjob 的电子邮件,因为我在 /etc/crontab 中设置了 MAILTO,如下所示:
[email protected]
我已经使用安装了mailx
yum install mailx
但是当我查看 cron 日志时,我得到以下几行:
Feb 23 14:13:01 internal crond[6858]: (root) CMD (/var/www/vded/build/bin/sync.sh)
Feb 23 14:13:01 internal crond[6857]: (root) MAIL (mailed 79 bytes of output but got status 0x0001 )
我怎样才能解决这个问题?
更新 :
- 我使用 yum 安装了 mailx 和 sendmail。
- 我开始发送邮件。
- 所以现在可以从命令行发送电子邮件了!
我在邮件日志中收到此错误:
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: from=root, size=425, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Feb 23 16:06:01 internal sendmail[7211]: o1NG61hT007211: from=<[email protected]>, size=732, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30425, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o1NG61hT007211 Message accepted for delivery)
Feb 23 16:06:01 internal sendmail[7212]: o1NG61hT007211: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30972, dsn=2.0.0, stat=Sent
internal.fff.com 是服务器的名称。
更新 :
所以事实上,如果我把它[email protected]
作为我的 crontab 的第一行(使用crontab -e
)它正在工作。
MAILTO
为什么设置in不起作用/etc/crontab
?
谢谢
所以回答我的问题:
yum install mailx
yum install sendmail
MAILTO
行放入 crontabcrontab -e
[email protected]
/etc/crontab
您可以通过安装 nullmailer 而不是 sendmail(或 exim4 或 postfix 等)来简化此操作。
如果它不起作用,就像我的一样,并且您正在发送到诸如 gmail 之类的网络邮件服务:请确保您没有在其上放置任何过滤器。事实上,我对 cron 中的任何内容都有一个过滤器,以绕过收件箱。这就是为什么我没有从我的 cron 工作中看到任何东西。
我
/var/log/maillog
的显示crontab
(withMAILTO=root
) 正在尝试向两者发送电子邮件root
和root@my_fqdn
(wheremy_fqdn
is like server.something.com)。根据日志,发送到root
成功和root@my_fqdn
失败,但我发现没有消息在/var/mail/root
. 这是相关的/var/log/maillog
片段:但是,根据此提示,邮件现在显示在
/var/mail/root
. 该问题/etc/hosts
需要添加一行,以便my_fqdn
解决为域(注意末尾的点):127.0.0.1 my_fqdn.
注意:现在的工作方式是消息仍然无法正确接收,但会以某种方式反弹回来
/var/mail/root
(请注意stat=Local configuration error
下面的/var/log/maillog
代码片段)。