inotify---监控文件服务

简介

异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如cron等的轮询机制来获取事件,

linux内核从2.6.13起支持 inotify,通过inotify可以监控文件系统中添加、删除,修改、移动等各种事件
inotify是内核级的功能,用于监控文件的变化

支持的内核参数(生产中可调整这些值)

[root@jasmine ~]#ls -l /proc/sys/fs/inotify/

total 0
-rw-r--r-- 1 root root 0 Dec 29 12:53 max_queued_events
-rw-r--r-- 1 root root 0 Dec 29 12:53 max_user_instances
-rw-r--r-- 1 root root 0 Dec 29 12:53 max_user_watches

inotify的主要工具

inotifywait(主要使用),监控文件的属性和其他操作
inotifywatch

inotifywait的选项

-m, --monitor 始终保持事件监听
-d, --daemon 以守护进程方式执行,和-m相似,配合-o使用
-r, --recursive 递归监控目录数据信息变化
-q, --quiet 输出少量事件信息
--exclude 指定排除文件或目录,使用扩展的正则表达式匹配的模式实现
--excludei 和exclude相似,不区分大小写
-o, --outfile 打印事件到文件中,相当于标准正确输出,注意:使用绝对路径
-s, --syslogOutput 发送错误到syslog相当于标准错误输出
--timefmt 指定时间输出格式
--format 指定的输出格式;即实际监控输出内容
-e 指定监听指定的事件,如果省略,表示所有事件都进行监听

    inotifywait -e 选项指定的事件类型(添加多项用逗号隔开)
        create 文件或目录创建
        delete 文件或目录被删除
        modify 文件或目录内容被写入
        attrib 文件或目录属性改变
        close_write 文件或目录关闭,在写入模式打开之后关闭的
        close_nowrite 文件或目录关闭,在只读模式打开之后关闭的
        close 文件或目录关闭,不管读或是写模式
        open 文件或目录被打开
        moved_to 文件或目录被移动到监控的目录中
        moved_from 文件或目录从监控的目录中被移动
        move 文件或目录不管移动到或是移出监控目录都触发事件
        access 文件或目录内容被读取
posted @ 2019-12-29 16:34  jasmine456  阅读(199)  评论(0编辑  收藏  举报