为单个crontab条目覆盖MAILTO


20

我们有一个角色帐户,该帐户具有很大的crontab。它的MAILTO指向一个共享地址,以便在发生故障时通知我们许多人。

我想在此crontab中添加一个条目,但是我只希望在出现问题时得到通知。有没有办法更改此条目的MAILTO或以其他方式实现我的目标?


到目前为止,建议的另一种方法是使用cron通过电子邮件向运行该作业的用户发送电子邮件的功能,从而使另一位用户仅从事此作业,然后将其电子邮件转发给您。
Hayden Thring 2014年

Answers:


21

您可以随时这样做:

MAILTO=you
* * * ...  your cron job
MAILTO=normal.destination

1
对此提出支持的人真的进行了测试吗?如果是这样,什么cron实现?
user1338062 2012年

我用Ubuntu 14.04(“ 3.0pl1-124ubuntu2”)附带的ICS / Vixie cron对其进行了测试,并且在那里工作良好。
尼尔斯·托德曼

丑陋,但几乎是唯一的解决方法。作品!
演讲

10

您始终可以将所有输出通过子外壳中的正确地址通过管道传递给mail命令。只要STDOUT或STDERR上没有任何内容,cron就不会发送电子邮件

10 * * * * sh -c'thisonecommand 2>&1 | 邮件otheraddress@foo.com'


1
这是行不通的,无论是否获得输出,“ mail”命令都会发送。因此,我收到一条关于成功的空消息,而我想要的却不是成功的消息。
mike

5
真好!为了避免来自mail命令的空电子邮件,请使用以下参数:-e(或使用-E表示。)

3

我不记得cron是否准备在环境vars中读取文件,所以我不确定是否可以MAILTO在单个文件中进行多次更改。但是,你可以随时将其分割到另一个文件,并把它放在/etc/cron.d/foo一个MAILTO=some@email.tld

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.