检查cron是否运行并有回退

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

我将stdout和stderr都redirect到一个日志文件:

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

并使用Nagios的check_logfiles插件来监视这个日志:

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"

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

似乎使用像https://deadmanssnitch.com这样的服务会更容易。 如果你的cron工作失败,你会得到一个警报。 通过这种方式,只有在发生故障时才需要查看日志文件。