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

标签 linux logging cron crontab

我有一个定时任务:

* * * * * 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/

相关文章:

php - PHP,MySQL,Cron Job-在大型表中维护当前/实时数据的有效方法?

cron - 如何设置 cron 作业每 3 小时运行一次

linux - 使用 Linux 剪切、排序和 uniq

linux - 如何在linux中从具有两个范围的url批量下载文件

c# - 使用 ETW 和语义日志记录应用程序 block 的文件锁定

logging - 如何使用 NLog 登录到具有不同日志记录级别的多个目标?

java - ArrayList 的多线程打印

c - visual studio 2010 中的 pthread(POSIX 线程)

java - CentOS 7 上的 Tomcat 8 管理器访问被拒绝(错误 403)而不提示输入登录名/密码

docker - 如何解决crontab中的 "curl: (7) Failed to connect to localhost port 5001: Connection refused"?