我有一个定时任务:
* * * * * 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
关于linux - 如何从单个 cronjob 发送电子邮件和存储日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17781800/