检查执行的任务

我不知道如何解释这一点。 一旦开始拥有数十台服务器,每台服务器都运行某种周期性的工作(主要来自cron),确保(或尽可能确保)这些任务实际上已经运行了。 我的意思是,如果一项工作失败,我会收到一封电子邮件,如果邮件成功,我将收到一封邮件,如果邮件没有任何原因,也不会收到邮件。 当然,我可以改变他们,让他们发送一个“成功运行”的电子邮件,只是被大部分时间我不想看到的邮件淹没。

基本上,我只想在以下情况下得到通知:

  • 任务运行失败
  • 一个任务没有在预期的时间运行。

有没有办法做到这一点?

我假设你正在运行UNIX / LINUX系统,如果你正在使用cron,所以最简单的方法来监视“一个任务没有在预期的时间运行”是远程login到一个(?)日志服务器,就像这样syslog.conf的:

 cron.!=info; @logserver.yourdomain.tld 

然后,您可以浏览这些日志中的错误,或只是添加一些日志parsing脚本来完成这项工作。

但无论如何总会有可能logging被破坏,你只是不会收到错误信息。

我不认为已经有这样的事情了。 你可以设置所有的任务来login一个文件的状态:时间戳,服务器,任务,状态,其他信息。

而且,比起你定期parsing这个文件,当状态失败或者警告或者任务有旧的时间戳的时候发送邮件。 为了确保这个脚本是成功的,即使一切正常,它也会发送一封电子邮件。

这样你就不会被电子邮件淹没,它将不时只是一个电子邮件。