inotify-tools用法
一、介绍
inotify-tools是为linux下inotify文件监控工具提供的一套C的开发接口函数库,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。Inotify-tools使用用c编写的,除了要求内核(Linux2.6.13开始)支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。
二、初试
1.查看内核是否支持
➜ ~ grep INOTIFY_USER /boot/config-$(uname -r) CONFIG_INOTIFY_USER=y
2.安装
➜ ~ yum install inotify-tools
3.运行inotifywait
➜ ~ inotifywait -rm workspace Setting up watches. Beware: since -r was given, this may take a while! Watches established.
4. 触发事件, 查看结果
➜ ~ touch workspace/demo.py inotifywait输出 workspace/ CREATE demo.py workspace/ OPEN demo.py workspace/ ATTRIB demo.py workspace/ CLOSE_WRITE,CLOSE demo.py
三、语法
inotifywait [-hcmrq] [-e <event> ] [-t <seconds> ] [--format <fmt> ] [--timefmt <fmt> ] <file> [ ... ]
四、选项
-r, --recursive 监视一个目录下的所有子目录。
-e , --event 指定监视的事件。
-m, --monitor 接收到一个事情而不退出,无限期地执行。默认的行为是接收到一个事情后立即退出。
-q, --quiet 指定一次,不会输出详细信息,指定二次,除了致命错误,不会输出任何信息。
-h,--help 输出帮助信息
@<file> 排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
--fromfile 从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-d, --daemon 跟--monitor一样,除了是在后台运行,需要指定--outfile把事情输出到一个文件。也意味着使用了--syslog。
-o, --outfile 输出事情到一个文件而不是标准输出。
-s, --syslog 输出错误信息到系统日志
--exclude 正则匹配需要排除的文件,大小写敏感。
--excludei 正则匹配需要排除的文件,忽略大小写。
-t , --timeout 设置超时时间,如果为0,则无限期地执行下去。
-c, --csv 输出csv格式。
--timefmt 指定时间格式,用于--format选项中的%T格式。
--format 指定输出格式。
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X"分隔
%T 使用由--timefmt定义的时间格式
五、输出
watched_filename EVENT_NAMES event_filename
- watched_filename 监控文件
- EVENT_NAMES 事件名
- event_filename 事件对象文件
六、事件
access 文件读取
modify 文件更改。
attrib 文件属性更改,如权限,时间戳等。
close_write 以可写模式打开的文件被关闭,不代表此文件一定已经写入数据。
close_nowrite 以只读模式打开的文件被关闭。
close 文件被关闭,不管它是如何打开的。
open 文件打开。
moved_to 一个文件或目录移动到监听的目录,即使是在同一目录内移动,此事件也触发。
moved_from 一个文件或目录移出监听的目录,即使是在同一目录内移动,此事件也触发。
move 包括moved_to和 moved_from
move_self 文件或目录被移除,之后不再监听此文件或目录。
create 文件或目录创建
delete 文件或目录删除
delete_self 文件或目录移除,之后不再监听此文件或目录
unmount 文件系统取消挂载,之后不再监听此文件系统。
参考: https://www.centos.bz/2012/06/inotify-tools-introduction/
2023年7月27日 06:00
Hi, first of all, thank you for all this information. Personally I was able to vote on your form and I am very happy with it. I am from Imamia Quran Academy. Online Shia Quran Academy is using this radical idea of taking online classes so that any environmental factor could not disrupt the learning process. Students across the world can be benefited from this learning procedure.