inotifywait文件监控

下载地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

inotifywait 使用来监控目录内容变化的工具

由于inotify特性需要Linux内核的支持,在安装inotify-tools前要先确认Linux系统内核是否达到了2.6.13以上,如果Linux内核低于2.6.13版本,就需要重新编译内核加入inotify的支持,也可以用如下方法判断,内核是否支持inotify:
[root@localhost webdata]# uname -r
2.6.18-164.11.1.el5PAE
[root@localhost webdata]# ll /proc/sys/fs/inotify
总计 0
-rw-r--r-- 1 root root 0 04-13 19:56 max_queued_events
-rw-r--r-- 1 root root 0 04-13 19:56 max_user_instances
-rw-r--r-- 1 root root 0 04-13 19:56 max_user_watches
如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了。

 

安装:

  1. 准备好inotify-tools.3.14.tar.gz

  2. 安装inotifywait 工具

        [root@svr7 opt]# tar -xf /opt/tools.tar.gz -C /opt/      //解压

        [root@svr7 opt]# ls         //解压文件
          inotify-tools-3.13  

        [root@svr7 opt]# cd  inotify-tools-3.13

        [root@svr7 opt]# yum -y install make gcc       //确保安装了make gcc  源码编译器

        [root@svr7 inotify-tools-3.13]# ./configure        //开始安装 会有一大片输出,无视即可

        [root@svr7 inotify-tools-3.13]# make

        [root@svr7 inotify-tools-3.13]# make install

        [root@svr7 inotify-tools-3.13]# ls /usr/local/bin/inotifywait   //安装之后确保有这个文件
            /usr/local/bin/inotifywait

   3.常用命令选项


       -m,持续监控(捕获一个事件后不退出)
       -r,递归监控、包括子目录及文件
       -q,减少屏幕输出信息    

       -e,指定监视的 modify、move、create、delete、attrib 等事件类别

-e :--event的各种事件含义

Events 含义
access 文件或目录被读取
modify 文件或目录内容被修改
attrib 文件或目录属性被改变
close 文件或目录封闭,无论读/写模式
open 文件或目录被打开
moved_to 文件或目录被移动至另外一个目录
move 文件或目录被移动到另一个目录或从另一个目录移动至当前目录
create 文件或目录被创建在当前目录
delete 文件或目录被删除
umount 文件系统被卸载

   4.监控测试

           [root@svr7 /]#  mkdir /test         //在根下创建一个目录

           [[root@svr7 /]# inotifywait -mq /test/       //监控这个目录参数时-mq    持续监控和屏蔽屏幕输出信息,这条命令会占用当前终端

           重新开启一个终端

           [[root@svr7 /]# touch /test/c.txt        //在另一个终端下创建c.txt

           [root@svr7 /]# inotifywait -mq /test/     //监控到变化
             /test/ CREATE c.txt
             /test/ OPEN c.txt
             /test/ ATTRIB c.txt
             /test/ CLOSE_WRITE,CLOSE c.txt

你可能感兴趣的:(inotifywait文件监控)