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

cwd*_*cwd 13 linux cron configuration

我相信,如果 cronjob 有任何输出,它会邮寄给该作业所属的用户。我认为您还可以MAILTO=vivek@nixcraft.in在 cron 文件的顶部添加类似的内容来更改输出的发送位置。

我可以设置一个选项,以便将系统范围内的 cron 作业通过电子邮件发送给 root 运行它们的用户而不是发送给它们吗?(即这样我就不必在每个用户的 cron 文件中设置它)

Sac*_*kar 9

MAILTO=root/etc/default/cron。该文件包含 cron 的默认设置。

man 5 crontab 说,

如果 MAILTO 已定义(且非空),则邮件将发送给如此命名的用户。

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

  • 这对我不起作用。我在默认文件中设置了 MAILTO 并重新启动了 cron 服务,但它仍在发送到 root(我正在尝试发送到外部电子邮件地址) (2认同)

Nik*_*ley 9

检查/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
Run Code Online (Sandbox Code Playgroud)