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



我有一个cronjob:

* * * * * root  echo 'blabla'

这很简单:)

现在,我想在这个cronjob完成后发送一封电子邮件,但也要将日志存储在日志文件中。

我试过这个:

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

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

知道为什么吗?

这是因为您正在将echo的输出重定向到mail,因此没有任何内容可写入日志文件。因此,日志文件为空。

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

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

最新更新