监视文件的变化并立即对变化采取行动

监视文件的变化并立即对变化采取行动

我怎么能够不断地监视(小)文件是否有变化?

例如,当文件更新时(来自 Web 应用程序的操作),就会执行一个脚本(如果尚未运行)。

现在,我使用 cron 每分钟执行一次,但这最多会延迟一分钟。我想在文件更改后立即采取行动。

一旦服务器启动,也许我需要编写一些在后台运行的低级进程?

我想要这样做的原因是将 Web 应用程序与根操作(按需执行,文件更新时执行一次)分开。

答案1

incrond(inotify cron 守护进程)的行为类似于 cron,但使用 inotify 作为触发机制。本指南有一些相当全面的例子。

您描述的情况的一个示例 incron 条目可能是:

/path/to/file IN_CLOSE_WRITE /path/to/your_script

答案2

incron 就是您正在寻找的软件。

答案3

如果您正在运行 Linux(我假设您是这样),那么您可以依赖 Linuxinotify机制在文件发生变化时通知用户空间进程。

同步是一个围绕该功能构建的程序,您可以将其配置为在文件发生变化时执行任意命令。

相关内容