|
1,安装完inotify-tools后,会在 /usr/local/bin 目录下新生成inotifywait和inotifywatch两个指令;
inotifywait:用于等待一个特定事件;
inotifywatch:用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息;
inotifywait命令常用选项如下:
-m 是保持一直监听
-r 是递归查看目录
-q 是打印出事件
-e <event>, --event <event> 指定需要监控的特定事件,默认监控所有文件事件;
--timefmt <fmt> 当在--format选项中使用%T时,--timefrt选项则可以用来指定自定义的符合strftime规范的时间格式;--timefrt后常用的参数是'%d/%m/%y %H:%M';
--format <fmt> 自定义inotifywait的输出格式;如 --format '%T %w %f';常用的格式符如下:
%T:使用--timefmt选项中自定义的时间格式;
%w:显示被监控文件的文件名;
%f:如果发生某事件的对象是目录,则显示被监控目录的名字,默认显示为空串;
2,vim inotify.sh
#!/bin/bash
src="/opt/pub"
dst="/opt/share"
/opt/app/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify,delete,create,attrib,move $src | while read file
do
rsync -avzP --delete $src/ $dst/
echo "$file was rsynced" >> rsync.log 2>&1
done
|
|
|