Inotify 文件监控
Inotify 简介
开源地址: https://github.com/inotify-tools/inotify-tools
Inotify
一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。
inotify-tools
是一个C库和一组命令行的工作,提供Linux下inotify的简单接口。inotify-tools
安装后会得到inotifywait
和inotifywatch
这两条命令:
inotifywait
命令 可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools
,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify。
inotifywatch
命令 用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次。
检查和安装
检查系统内核是否支持Inotify
- 方式一:使用
uname -r
命令检查Linux内核,如果低于2.6.13
,就需要重新编译内核加入inotify
的支持。
- 方式二:使用
ll /proc/sys/fs/inotify
命令,是否有以下三条信息输出,如果没有表示不支持。
安装部分
- 从源码安装(预先配置好编译环境, 在此就不再赘述):
使用样例及常用参数
样例
inotifywait
inotifywatch
常用参数
附录1:inotifywait 示例脚本
inotifywait example 1 (thanks to Nick Lothian)
This may be the most efficient way to block for changes on files from a shell script.
If you don’t specify which event you want to catch, all will be caught, and the event which occurred is output on stdout.
inotifywait example 2
来源于官方wiki文档
附录2: inotifywait 参数详解及所有可监听事件
全部参数详解及命令格式:
可监听事件:
参考链接