我不小心删除了cron
usingcrontab -
命令,现在目录下的文件/var/spool/cron/crontabs
被删除了。
我希望有一个脚本,只要我的文件/var/spool/cron/crontabs
被删除,它就会发送邮件。我正在使用ksh
外壳。
答案1
如果你有 inotify 工具,那么
dir=/var/spool/cron/crontabs
inotifywait --monitor --event delete -r "$dir"
每当文件$dir
被删除时都会给你一行。您可以将其通过管道传输到您的邮件程序或运行邮件程序的循环。
答案2
您可以使用配置管理系统,例如木偶或者厨师它将定期检查系统并强制执行关键文件(如 crontab)的正确内容。
此类系统也可以仅设置为审核模式,因此当文件更改时您只会收到警报。
对于仅仅几个个人系统文件来说,这可能有点过大了。
或者,仅从您存储的主文件中填充您的 crontabgit或其他一些源代码存储库。