【问题标题】:Have cron only send mail when PHP throws an error仅在 PHP 抛出错误时让 cron 发送邮件
【发布时间】:2012-12-25 09:20:04
【问题描述】:

我有一些每 1 或 2 分钟运行一次小型 PHP 脚本的 cronjobs。显然我不想每分钟都收到电子邮件。我确实想知道 cron 何时失败或何时遇到任何类型的错误(= 通知、警告、错误或未捕获的异常)。

我的 PHP 脚本打印了大量元数据(使用 echo),因此可以手动运行和检查。如果发生错误,我希望将所有元数据发送给我。如果没有发生错误,我不想要邮件,但是因为有输出,cron 还是给我发了一封电子邮件。

有没有办法让 cron 仅在发生错误时向我发送整个输出?

  • 我不想手动发送电子邮件
  • 我宁愿不使用 ob(如果在 cronjob 中甚至可以这样做的话)
  • 我可以更改我的输出方法(print 或自定义函数,而不是 echo 等)

【问题讨论】:

    标签: php email cron stderr


    【解决方案1】:

    查看 crronic - 它是一个提供此功能的 shell 包装器:

    http://habilis.net/cronic/

    请注意,如果发生错误(为了触发邮件),您需要以非零退出值退出。

    【讨论】:

    • 哦,我喜欢这样。如何添加它以便我可以在任何地方运行它?我不想/root/tools/cronic /usr/bin/php /var/www/br2pr/source/cronjobs/script.php。太长了。
    • 不幸的是,这就是你所坚持的。不用担心它太长,cron 不在乎。 :)
    • 但我愿意,因为它在我的邮件中。我可以将cronic 添加到我的$PATH 或其他内容中吗?喜欢php
    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 2013-09-06
    • 2019-07-24
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    相关资源
    最近更新 更多