如何在文件被删除时收到邮件?

如何在文件被删除时收到邮件?

我不小心删除了cronusingcrontab -命令,现在目录下的文件/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或其他一些源代码存储库。

相关内容