linux – 将crontab输出重定向到电子邮件

它看起来很简单但是如何将这种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

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...