我相信,如果 cronjob 有任何输出,它会被邮寄给该作业所属的用户。我认为您还可以[email protected]
在 cron 文件顶部添加类似内容来更改输出发送到的位置。
我可以设置一个选项,以便系统范围内的 cron 作业将通过电子邮件发送到 root
而不是运行它们的用户?(即这样我就不必在每个用户的 cron 文件中设置它)
答案1
检查/etc/crontab
文件并MAILTO=root
在那里设置。可能还需要在/etc/rc
文件中
crond
似乎接受 MAILTO 变量,我想我不太确定,但值得尝试在启动之前更改 crond 的环境变量。就像在/etc/sysconfig/crond
或/etc/rc.d/init.d/crond
脚本中一样,它来源较早的文件。
例子:
[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage: %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL
答案2
普京。MAILTO=root
/etc/default/cron
该文件包含 cron 的默认设置。
man 5 crontab
说,
如果定义了 MAILTO(且非空),则邮件将发送给指定的用户。