检查 cron 是否运行并且有后备功能

检查 cron 是否运行并且有后备功能

我编写了一个实时公交跟踪程序,每分钟运行一次 cron 来检查公交服务。为了删除一些服务器资源,我将在 PHPfog 上创建一个实例,然后在那里执行 cron。我的问题是,知道 cron 是否失败的最佳方法是什么?如果失败,则运行本地服务器副本作为备份?

答案1

我将 stdout 和 stderr 都重定向到日志文件:

*/15 * * * * /usr/bin/php bus_tracking.php >> /var/log/bus_tracking.log 2>&1

并使用 Nagios 的检查日志文件监控此日志的插件:

command[check_bus_tracking]=/usr/bin/sudo /usr/local/nagios/libexec/check_logfiles --tag=bus_tracking --logfile=/var/log/bus_tracking.log --criticalpattern="error|Permission denied" --warningpattern="warning"

您还可以编写事件处理程序运行本地服务器副本。

答案2

似乎使用这样的服务会更容易https://deadmanssnitch.com。如果您的 cron 作业失败,您将收到警报。这样,您只需在真正重要的时候(即失败后)查看日志文件即可。

相关内容