有哪些选项可用于获取cron的结果以及如何设置它们?

问题描述:

我知道默认的cron的行为是发送正常和错误输出到cron的所有者本地邮箱。有哪些选项可用于获取cron的结果以及如何设置它们?

是否有其他方法可以获得这些结果(例如,通过电子邮件发送给一群人,将它们存储在某个地方,等等)?

你可以扔文件重定向到任何显示的命令或在crontab两个输出和错误实际的命令 - 像command > /tmp/log.txt 2>&1

如果您希望多个用户接收此日​​志,您可以在您的cron文件顶部插入MAILTO=nameofmailinglist

cron行就像任何其他unix命令行一样,因此您可以将输出重定向到另一个程序。 IE浏览器。

* * * * * /path/my/command > /my/email/script 2&>1 
+4

我想你的意思|而不是>。使用>会将输出写入文件。 – bmb 2008-09-14 01:57:19

这可能是不必要的加法,但限定重定向命令:

>重定向标准输出

2是Bourne shell特定术语,意思是标准误差

1是Bourne壳这意味着标准输出

2> & 1表示将标准错误重定向到标准输出

另请参阅以下有用的文章Standard Input and Output Redirection

+0

2和1不仅仅是Bourne shell特有的。 – 2008-09-17 22:46:30

+2

实际上2>&1意味着在标准输出上重复标准错误。 这就是为什么“2>&1> my_file”为“> my_file 2>&1”提供了非常不同的结果“ – 2008-09-17 22:49:14

要通过电子邮件发送输出到不同的电子邮件地址,只需添加一行

MAILTO="[email protected]" 

到crontab命令之前

至于我看到你有三种选择:

  1. 重定向输出:可以是文件,也可以是根据需要发送结果的程序
  2. 在cron中使用MAILTO,并将电子邮件重定向到您的所有cron作业的任何其他单个地址。
  3. 在cron发送邮件后,在邮件服务器或客户端重定向。