inotify-tools是Linux下基于inotify内核的文件系统事件监控工具,包含inotifywait和inotifywatch。inotifywait可实时监听文件或目录的访问、修改、创建、删除等事件,支持递归监听、自定义输出格式及时间戳显示,常用于日志监控、自动备份和热重载;通过-m持续监听、-r递归、-e指定事件类型,结合shell脚本可实现配置变更后自动重启服务等自动化操作;inotifywatch则用于统计指定时间内各类事件的发生次数,适用于行为分析。安装可通过主流发行版包管理器完成,如apt、yum或dnf。合理选择事件类型与格式化输出能有效提升运维效率。

Linux中的inotify-tools是一组命令行工具,用于监控文件系统事件。它基于inotify内核子系统,能实时捕获文件或目录的创建、修改、删除等操作。常用于日志监控、自动备份、开发环境热重载等场景。
安装 inotify-tools
大多数主流发行版可通过包管理器直接安装:
Ubuntu/Debian:sudo apt install inotify-tools CentOS/RHEL:sudo yum install inotify-tools(或使用dnf) Fedora:sudo dnf install inotify-tools
常用命令:inotifywait
inotifywait是最常用的命令,用于阻塞等待文件系统事件并输出结果。
基本语法:inotifywait [选项] 文件或目录
常用选项:
-m:持续监听,不退出 -r:递归监听子目录 -q:静默模式,减少输出 –format:自定义输出格式 –timefmt:时间格式(需配合%T) -e:指定监听事件类型
常见事件类型:
access:文件被读取 modify:文件内容被修改 create:在目录中创建新文件 delete:文件或目录被删除 move:文件被移动 attrib:文件属性改变(如权限、时间戳)
示例:监听某目录下所有修改和创建事件
inotifywait -m -r -e modify,create /path/to/dir
带时间戳的监听输出:
inotifywait -m -r –timefmt ‘%Y-%m-%d %H:%M:%S’ –format ‘%T %w%f %e’ -e modify,create /var/log
输出类似:2025-04-05 10:23:01 /var/log/app.log MODIFY
进阶用法:结合脚本自动处理事件
可将inotifywait与shell脚本结合,实现自动化响应。
示例:当某个配置文件被修改时自动重启服务
inotifywait -m -e modify /etc/myapp/config.conf | while read path action file; do
echo “检测到 $path$file 被 $action”
systemctl restart myapp
done
注意:管道会启动子shell,若需在主shell中使用变量,建议写成脚本文件并后台运行。
另一个命令:inotifywatch
inotifywatch用于统计一段时间内文件系统的事件发生次数。
示例:统计30秒内/var/www/html下的事件
inotifywatch -v -e access -e modify -t 30 -r /var/www/html
结束后会输出每个文件的事件统计汇总。
基本上就这些。掌握inotifywait的常用选项和事件类型,就能满足大部分实时监控需求。不复杂但容易忽略的是事件的精确选择和输出格式控制,合理使用可大幅提升调试和自动化效率。
以上就是Linux文件系统inotify-tools命令使用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/196765.html
微信扫一扫
支付宝扫一扫