我可以更改 cron 作业的默认邮件收件人吗?

我可以更改 cron 作业的默认邮件收件人吗?

我相信,如果 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(且非空),则邮件将发送给指定的用户。

参考:http://man.cx/cron(1)#heading4

相关内容