1

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

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

  1. 开始使用我们的计划抑制过程,该过程允许用户在不实际接触 crontab 的情况下抑制计划。没什么神奇的 - 只需触摸专用于该过程的目录中的文件。该过程在启动时检查该目录。
  2. 如果 crontab 与 svn 中的备份或当前版本不匹配,则实现一个发送警报的过程。

任何人都可以推荐#2 的现有解决方案(在 crontab 更改时发出警报)?

4

1 回答 1

0

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

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

一个可能的脚本可能是

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

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

于 2012-12-03T22:48:38.653 回答