linux – 将crontab输出重定向到电子邮件
发布时间:2020-12-14 02:44:26 所属栏目:Linux 来源:网络整理
导读:它看起来很简单但是如何将这种crontab的输出重定向到我的电子邮件? 00 06 * * * /usr/bin/php /home/user/myapp/testing.sh -e prod 1 /var/log/CRONLOGS/testing_prod.log 21 我尝试添加MAILTO=myemail@email.com但没有任何结果. 问候 解决方法 你在那里的
它看起来很简单但是如何将这种crontab的输出重定向到我的电子邮件?
00 06 * * * /usr/bin/php /home/user/myapp/testing.sh -e prod 1>> /var/log/CRONLOGS/testing_prod.log 2>&1 我尝试添加MAILTO=myemail@email.com但没有任何结果. 问候 解决方法
你在那里的cron条目是将STDOUT和STDERR重定向到一个文件:/var/log/CRONLOGS/testing_prod.log.
执行所需操作的最简单方法是在cron作业结束时运行mailx,使用间接发送该文件: 00 06 * * * /usr/bin/php /home/user/myapp/testing.sh -e prod 1>> /var/log/CRONLOGS/testing_prod.log 2>&1; mailx -s "Cron output" me@example.org < /var/log/CRONLOGS/testing_prod.log 但是:请注意您的cron作业将附加到日志文件中,因此除非定期清除旧条目(或旋转),否则您将收到所有先前的输出以及新输出.最好创建一个小的shell脚本来写入临时日志,邮寄它,然后将其附加到邮件日志中: #!/bin/sh /usr/bin/php /home/user/myapp/testing.sh -e prod 1>> /tmp/testing_prod$$.log 2>&1 mailx -s "Cron output" me@example.org < /tmp/testing_prod$$.log cat /tmp/testing_prod$$.log >> /var/log/CRONLOGS/testing_prod.log rm /tmp/testing_prod$$.log 这有利于使crontab看起来更整洁: 00 06 * * * /home/user/myapp/cronscript.sh (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |