如何在crontab更改时获得警报?

时间:2012-12-03 22:34:10

标签: cron crontab

我有十几台服务器,每台服务器都有crontabs,其中包含20-50个crontab条目。导致进程失败的最常见原因是有人在修复或修补程序期间在cron中注释掉了作业,然后忘记取消注释作业。

我想做两件事来解决这个问题:

  1. 开始使用我们的计划抑制过程,该过程允许用户在不实际触及crontab的情况下禁止计划。没有什么神奇之处 - 只需触摸专用于该过程的目录中的文件即可。该过程在启动时检查该目录。
  2. 实现一个进程,如果crontab与svn中的备份或当前版本不匹配,将发出警报。
  3. 任何人都可以推荐#2的现有解决方案(crontab更改时发出警报)吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我建议比较你想要的文件和实际文件的哈希值。

只需写一个发送电子邮件通知或创建通知文件或任何你想要的bashscript,让这个脚本每隔x秒/分钟/小时自动运行。

可能的脚本可能是

if [[ $(md5sum path/to/crontab.backup | cut -d' ' -f1) == $(md5sum /etc/crontab | cut -d' ' -f1) ]]
then
    # send your notification
fi

这是一个非常简单的解决方案,用于检查自上次备份以来文件是否已更改。