Linux(CentOS) – 有没有(可行)的方法来添加文件写入“钩子”?

我有一个mod_security日志parsing脚本来将数据加载到一个mysql数据库,然后由我们的项目pipe理系统访问,以显示我们的开发人员的规则集最近的标志。

该脚本很好,但我需要弄清楚它是如何调用的。 我可以将它添加到一个cronjob,但我不知道服务器负载每2-5秒运行一次。

我想知道是否有任何方式让日志文件被写入时调用脚本?

如果你正在写一个文件,你可以写“| yourimportscript”,并让它运行pipe道input。 当apache重新启动时,它会重启进程。 它会花费大部分时间等待,直到收到input,并不需要cron工作。

您可以将您的脚本编写为守护程序,并使用famd来查看文件是否被修改。 或者,保存最后一次读取的fpos,当你的cron启动时,看看除了保存的fpos之外是否还有其他东西。

如果你没有得到那么多的数据,影响会有点低。 如果你获得了大量的数据,你也可以考虑通过系统日志logging到一个单独的机器,并在那里进行处理。