文件监控可以配合rsync实现文件自动同步,比如监控某个目录,当文件发生变化时,使用rsync命令同步变化的文件。(可用于代码自动发布)实现文件自动同步,比如监控某个目录,当文件发生变化时,使用rsync命令同步变化的文件。(可用于代码自动发布)。inotify是linux内核的一个特性,从内核2.6.13开始可用。如果是shell环境,可以安装yuminstallinotify-tools。安装后,有两个命令可以使用inotifywait和inotifywatch。inotifywait是需要使用的命令。监听/usr/local/src目录:/usr/local/bin/inotifywait-mrq--timefmt'%d/%m/%y%H:%M'--format'%T%w%f%e'-emodify,delete,create,attrib/usr/local/src参数:-m持续监控-r使用递归形式监控目录-q减少冗余信息,只打印需要的信息-e指定要监控的事件,多个时间用逗号分隔--timefmt时间格式--format监控文件的信息变化--timefmt说明:ymd代表年月日,H代表小时,M代表分钟--format说明:执行上述命令后,在listening目录下新建一个1.txt文件,结果如下:22/03/1817:22/usr/local/src/1.txtCREATE22/03/1817:22/usr/local/src/1.txtATTRIB这个脚本的作用是循环监听文件或目录的增删改查,当事件发生时执行设置的脚本文件。#!/bin/sh#监控的文件或目录filename=$1#监控发现有脚本的增删改查script=$2inotifywait-mrq--format'%e'--eventcreate,delete,modify$filename|whilereadeventdocase$eventinMODIFY|CREATE|DELETE)bash$script;;esacdoneshell脚本在后台执行nohup使用nohup,其中test.sh是执行的脚本,out.txt是输出信息的地方。nohupshtest.sh>输出.txt&
