如何从单个cronjob发送电子邮件和存储日志文件?

时间:2013-07-22 07:10:26

标签: linux logging cron crontab

我有一个cronjob:

* * * * * root  echo 'blabla'

这很容易:)

现在,我想在完成此cronjob时发送电子邮件,还要将日志存储在日志文件中。

我试过这个:

* * * * * root  echo 'blabla'  | mail -s "Cron report" test@example.com  > /test/test.log 2>&1

发送电子邮件并创建test.log文件,但test.log文件为空。

知道为什么吗?

1 个答案:

答案 0 :(得分:5)

这是因为您将echo的输出重定向到mail,因此无需写入日志文件。因此,日志文件为空。

如果您想将echo的输出写入日志文件并将其发送至mail,请使用tee,如下所示:

echo 'blabla'  2>&1 | tee /test/test.log | mail -s "Cron report" test@example.com