inotify,inotify-tools
inotify,inotify-tools
安装inotify
安装inotify-tools-3.14.tar.gz
解压:
编译安装:
inotifywait:在被监控的文件或目录上等待特定文件系统事件(open、close、delete等)发生,执行后处于阻塞转态,适合在shell脚本中使用。
inotifywatch:收集被监控的文件系统使用度统计数据,指文件系统事件发生的次数统计。
inotifywait命令常用参数
测试一:
窗口一:
窗口二:
测试二:
窗口一:
窗口二:
同时监控多个事件,事件之间用逗号分隔。
测试:
窗口一:
窗口二:
备份服务器:
写入rc.local
应用场景:10—300k小文件并发200—300,不会有延迟。
关键参数说明:
在/proc/sys/fs/inotify目录下有三个文件,对inotify机制有一定的限制。
max_user_watches:设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)。
max_user_instances:设置每个用户可以运行的inotifywait或inotifywatch命令的进程数。
max_queued_events:设置inotify实例事件(event)队列可容纳的事件数量。
每秒200个文件并发,数据同步几乎无延迟。
inotify优点:
实时数据同步。
inotify缺点:
1、并发如果大于200个文件(10—100K),同步会有延迟。
2、监控到事件后,调用rsync同步是单进程的(加&并发),sersync多进程同步。
sersync的功能:
1、配置文件。
2、真正的守护进程socker。
3、可以对失败文件定时重传(定时任务)。
4、第三方的http接口。
5、默认多线程同步。
高并发数据实时同步方案:
1、文件级别:inotify(sersync)+rsync。
2、文件系统级别:drbd。
3、第三方软件的同步功能:mysql同步、oracle、mongodb。
4、程序双写。
5、业务逻辑解决。
评论暂时关闭