前言:
Inotify 一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。
inotify-tools 是一个C库和一组命令行的工作,提供Linux下inotify的简单接口。inotify-tools安装后会得到inotifywait和inotifywatch这两条命令:
inotifywait命令 可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify。
inotifywatch命令 用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次。
划重点————————————————————————————————————————————————————————————
使用场景,负载均衡,我这里是用的阿里的负载,所以需要用到unison+inotifywait实现双向同步文件
单向同步可使用:rsync+inotify 用于手工恢复的场景
安装:
开始之前需要检测系统内核是否支持inotify
- 方式一:使用
uname -r
命令检查Linux内核,如果低于2.6.13
,就需要重新编译内核加入inotify的支持。 - 方式二:使用
ll /proc/sys/fs/inotify
命令,是否有以下三条信息输出,如果没有表示不支持。
1 | [root@izm5eak5gr2qkq2a2z063qz ~]# uname -r |
centos系统自带等yum安装
1 | yum search inotify-tools |
inotifywait 基本使用
1 | # 创建一个名为test.log的文件 |
常用参数说明
1 | --timefmt 时间格式 |
全部参数说明,建议用man inotifywait
进行查看
1 | -h,–help |
可监听事件
1 | access 访问,读取文件。 |