10

我知道默认 cron 的行为是将正常和错误输出发送到 cron 的所有者本地邮箱。

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

4

5 回答 5

7

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

MAILTO="user@example.com"

到命令前的crontab

于 2008-09-04T09:02:22.723 回答
5

对于 stdout 和 stderr,您可以将文件重定向到显示的命令或 crontab 中的实际命令上command > /tmp/log.txt 2>&1

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

于 2008-09-04T08:45:17.630 回答
4

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

* * * * * /path/my/command > /my/email/script 2&>1
于 2008-09-04T08:43:01.863 回答
4

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

> 重定向标准输出

2 是 Bourne shell 特定术语,表示标准错误

1 是 Bourne shell 特定术语,表示标准输出

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

另请参阅以下有用的文章标准输入和输出重定向

于 2008-09-04T08:52:42.870 回答
2

据我所知,您有三个选择:

  1. 重定向输出:要么到一个文件,要么到一个程序,该程序将根据您的需要通过电子邮件发送结果
  2. 在 cron 中使用 MAILTO,并将电子邮件重定向到所有 cron 作业的任何其他单个地址。
  3. 在 cron 发送之后,在您的邮件服务器或客户端中进行重定向。
于 2008-09-04T09:22:09.103 回答