如何将cronjob的输出发送到多个电子邮件地址?

crontab文件的开始处,您可以使用MAILTO指令来指示您希望将输出作为电子邮件发送到电子邮件地址。 我想将输出发送到多个地址。 是否可以(以及如何)指定多个地址?

它可能会有所不同,具体取决于您使用哪个cron守护程序包,但是这来自Ubuntu Hardy上的Vixie Cron的手册页:

如果MAILTO被定义(并且非空),则邮件被发送给如此命名的用户。 MAILTO也可用于通过用逗号分隔收件人用户来将邮件定向到多个收件人。 如果MAILTO被定义但为空(MAILTO =“”),则不会发送邮件。 否则,邮件将被发送给crontab的所有者。

如果您不使用Vixie Cron,或者不确定,请尝试crontab文件的手册页: man 5 crontab

 MAILTO="[email protected],[email protected]" 

作为上述答案的替代scheme,您可以将其发送到一个邮件组的单个地址。 如果您pipe理多个服务器,这种方法效果特别好,因为pipe理邮件服务器上的组中的地址,然后在每台服务器的crontab中pipe理地址更为简单。

一种解决scheme可能是在该用户帐户上的.forward文件,该文件将邮件发送到适当的地址。

最好的答案可能是检查你的发行版的当前版本的cron / crontab的手册页,看看是否有可以用MAILTO参数完成的事情,或者指定一个邮件地址,然后再把邮件转发给你多个地址。

在每封电子邮件后添加,例如: MAILTO="[email protected],[email protected]"