Inotify: Linux文件系统事件监控框架

准备

安装

yum install -y inotify-tools incron

简单的文件变化通知样例

创建文件夹

mkdir /tmp/inotify-test

启动监控

inotifywait -rme modify,close_write,create,delete /tmp/inotify-test

测试

更多信息移步inotify-tools wiki

使用incron

incron,它是一个类似于cron的守护进程(daemon),传统的cron守护进程都是在规定的某个时间段内执行,而incron由于使用了Inotify,可以由事件触发执行。同时incron的安装简单而直观,比如在debian上,首先在/etc/incron.allow中添加使用incron的用户(debian默认不允许用户使用incron,因为如果incron使用不慎的话,例如形成死循环,则会导致系统宕机)

echo "root" > etc/incron.allow

添加一个自己的规则

incrontab -e

使用方法

  • “文件路径
  • `事件类型 eg:IN_CREATE,IN_MODIFY` ,更多inotify.h
  • “事件触发时调用的程序或脚本

Example

/tmp/inotify-test IN_MODIFY php /tmp/inotify/do.php $@/$#

do.php