Incron 怎么样?它在文件/目录更改时触发命令。
sudo apt-get install incron
例:
<path> <mask> <command>
在哪里
<path>可以查看目录(意味着监视目录和/或直接在该目录中的文件(不是监视该目录的子目录中的文件!))或文件。
<mask>可以是以下之一:
IN_ACCESSFile was accessed (read) (*)IN_ATTRIBmetadata changed (permissions, timestamps, extended attributes, etc.) (*)IN_CLOSE_WRITE File opened for writing was closed (*)IN_CLOSE_NOWRITE File not opened for writing was closed (*)IN_CREATEFile/directory created in watched directory (*)IN_DELETeFile/directory deleted from watched directory (*)IN_DELETe_SELFWatched file/directory was itself deletedIN_MODIFYFile was modified (*)IN_MOVE_SELF Watched file/directory was itself movedIN_MOVED_FROM File moved out of watched directory (*)IN_MOVED_TO File moved into watched directory (*)IN_OPEN File was opened (*)
<command>是事件发生时应运行的命令。在命令规范中可以使用以下通配符:
$$ dollar sign$@ watched filesystem path (see above)$# event-related file name$% event flags (textually)$& event flags (numerically)
如果查看目录,则$ @保留目录路径,$#保留触发事件的文件。如果您观看文件,则$ @拥有文件的完整路径,而$#为空。
工作示例:
$sudo echo spatel > /etc/incron.allow$sudo echo root > /etc/incron.allow
启动守护程序:
$sudo /etc/init.d/incrond start
编辑
incrontab档案
$incrontab -e/home/spatel IN_CLOSE_WRITE touch /tmp/incrontest-$#
测试一下
$touch /home/spatel/alpha
结果:
$ls -l /tmp/*alpha*-rw-r--r-- 1 spatel spatel 0 Feb 4 12:32 /tmp/incrontest-alpha
注意: 在
Ubuntu启动时需要激活inotify。请在Grub menu.lst文件中添加以下行:
kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/sda1 ro inotify=yes



