1. 开始安装

在安装inotify-tools前,请先确认Linux内核是否达到了2.6.13,并且在编译时开启了
CONFIG_INOTIFY选项,也可以通过以下命令检测

前提rsync daemon服务配置成功,可以再rsync客户端推送拉取数据,然后才能配置inotify服务。

2.查看当前系统是否支持inotify

[root@nfs01 ~]# uname -r
2.6.32-642.el6.x86_64
[root@nfs01 ~]#ll /proc/sys/fs/inotify/
total 0
-rw-r—r— 1 root root 0 Oct 15 15:58 max_queued_events
-rw-r—r— 1 root root 0 Oct 15 15:58 max_user_instances
-rw-r—r— 1 root root 0 Oct 15 15:58 max_user_watches
#显示这三个文件则证明支持。

3.安装inotify-tools

安装之前先检测一下是否有安装过了。
[root@nfs01 ~]# rpm -qa inotify-tools
[root@nfs01 ~]#
上面的检测得到的结果是未安装,因为这个是一个比较特殊的第三源,无法直接yum安装,需要先安装阿里云的epel源。
Yum安装方法:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install inotify-tools -y
[root@nfs01 ~]# rpm -qa inotify-tools
inotify-tools-3.14-1.el6.x86_64
[root@nfs01 ~]#

4.工具集介绍:

一共安装了2个工具(命令),即inotifywait和inotifywatch
inotifywait:在被监控的文件或目录上等待特定文件系统事件(open、close、delete等)发生,执行后处于阻塞
状态,适合在shell脚本中使用。
inotifywathc: 收集被监视的文件系统使用度统计数据,指文件系统事件发生的次数统计。

5.inotify参数说明:

参数 说明
-r 递归查询目录
-q 打印很少的信息,仅仅打印监控事件的信息
-m 始终保持事件监听状态
—excludei 排除文件或目录时,不区分大小写。
—timefmt 指定事件输出的格式
—format 打印使用指定的输出类似格式字符串
-e 通过此参数可以指定需要监控的事件如下所示:
Events:
access 文件或目录被读取。
modify 文件或目录的内容被修改。
attrib 文件或目录属性被改变。
close 文件或目录关闭,无论读/写模式。
open 文件或目录被打开。
moved_to 文件或目录被移动至另外一个目录
move 文件或目录被移动另一个目录或从另一个目录移至当前目录。
create 文件或目录被创建。
delete 文件或目录被删除

6.人工测试监控事件

开启两个窗口:

  1. 测试create

[root@nfs01 ~]#inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create,delete /backup
开始安装inotify - 图1