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.repoyum 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.人工测试监控事件
开启两个窗口:
- 测试create
[root@nfs01 ~]#inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create,delete /backup