让cron仅通过实际的Git错误向我发送电子邮件

时间:2014-07-10 08:11:38

标签: git cron sendmail stderr

我正在运行一个cronjob,它会拉出一个Git存储库并将其推送到另一个位置。我想让cronjob静静地运行,但每当出现故障时我都希望通过邮件通知。方便的是,cron的默认设置是在stderr缓冲区不为空时发送邮件。

如果本地分支是最新的,git pull > /dev/null的输出确实无效,但git push > /dev/null不是:

$ git push > /dev/null
Everything up-to-date

这导致每个git push的cron邮件。我想要忽视像

这样的stderr
$ git push > /dev/null 2>&1

因为我希望收到实际失败的通知。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

来自git push手册页:

   -q, --quiet
       Suppress all output, including the listing of updated refs, 
       unless an error occurs. Progress is not reported to the 
       standard error stream.

git中有更多命令可以让你压抑所有非错误输出。