【发布时间】:2012-03-29 01:21:41
【问题描述】:
我在/usr/share/myscript.py有一个python脚本
我想从 cron 作业中执行此脚本,如果脚本产生任何错误,则会将这些错误通过电子邮件发送给特定用户(并且不通知 root 帐户)。
我不想覆盖任何 cron 设置 - 其他 cron 作业仍应通知 root。
目前我正在使用 shell 包装器,它将错误通过管道传输到日志文件,然后通过电子邮件发送给我。 cron 作业然后执行这个 .sh 文件而不是直接执行 python 脚本。
#!/bin/sh
python /usr/share/scripts/myscript.py 2>&1 > /home/me/logs/myscript.log
test -s /home/me/logs/myscript.log && cat /home/me/logs/myscript.log | mail -s "myscript errors" bob@myplace.com
在生产中,如果没有出现任何问题,则脚本会正确执行,并且不会向任何人发送电子邮件。但是,如果在执行 python 脚本时出现错误,那么仍然会从 cron 将其通过电子邮件发送给 root 用户。
我应该如何更改 .sh 脚本来抑制这种情况并改为向我报告?
【问题讨论】: