概念 | inotify是一种强大的,细粒度,异步的文件系统时间监视机制。可以监控文件系统中添加,删除,修改,移动等各个时间。 | ||||||||||||||||||||||||||||||||||||||||
实时 并发 | 每秒200文件转发,数据基本无延迟(小于一秒) | ||||||||||||||||||||||||||||||||||||||||
inotify | 优点:监控文件系统事件变化,通过同步工具实现实时数据同步 | ||||||||||||||||||||||||||||||||||||||||
缺点:并发大于200个文件会有延迟 | |||||||||||||||||||||||||||||||||||||||||
seryysync | |||||||||||||||||||||||||||||||||||||||||
通过rsync + inotify,inotify实时监控事件(增删改查),一旦目录出现了变化,它就会推送调用rsync,让他去推送目录中的所有内容,实现秒级别的同步,最大支持200个文件的变化。 | |||||||||||||||||||||||||||||||||||||||||
企业备份 | 1.静态数据 2.动态数据 3.其他数据 | ||||||||||||||||||||||||||||||||||||||||
yum类型 |
| ||||||||||||||||||||||||||||||||||||||||
部署inotify事件监视 | |||||||||||||||||||||||||||||||||||||||||
环境 | 服务端需求:rsync和nfs 客户机操作 安装:wget,inotifywait和inotifywatch Inotifywait:在被监控的文件或目录上等待特定文件系统事件(open,close,delete等)发生,执行后处于阻塞状态,适合shell脚本使用 Inotifywatch:收集被监视的文件系统使用度统计数据,指文件系统事件发生的次数统计。 | ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
环境 搭建 | 部署实验所需环境(客户机) [root@centos ~]# yum -y install wget //安装wget工具,用于访问云yum源 [root@centos yum.repos.d]# wget http://files.tttidc.com/centos6/epel-6.repo //通过wget直接连接网站,下载云源文件 Ps:做到这一步需要本机可以连接外网,也就是可以使用Ping命令ping通www.baidu.com。否则将会出现云yum来路径错误,导致后续安装安装包失败。 [root@centos yum.repos.d]# yum -y install inotify-tools 可以查到命令,说明安装成功 | ||||||||||||||||||||||||||||||||||||||||
监控创建 | [root@centos backup]# inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w %f' -e create /backup -mrq:必选项(m:始终保持事件监听状态;r:递归查询目录;q:进打印监 控事件信息) --timefmt:指定输出的事件格式:%y %m %d %H %M分别对应年月日时分 --format:打印指定的输出类似格式字符串,%T %w %f分别对应时间,路径,文件名。也就是当监控对像发生变化时,先输出时间,再输出路径,最后输出文件名。 -e create:对创建事件进行监听 当只指定了创建事件时,其余事件变化是不进行显示的,也就是只针对指定事件进行监控。 | ||||||||||||||||||||||||||||||||||||||||
监控多个事件 | [root@centos backup]# inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w %f' -e create,delete,modify,close_write /backup //监控创建,删除,读写 | ||||||||||||||||||||||||||||||||||||||||
编写脚本 | (1)inotify实时监控脚本 分析: 效果 (上面两个为一个客户机上开启两个shell窗口,下面的是服务器) | ||||||||||||||||||||||||||||||||||||||||
脚本的优化 | 代码: 效果: | ||||||||||||||||||||||||||||||||||||||||
开机启动 | |||||||||||||||||||||||||||||||||||||||||
拓展 | |||||||||||||||||||||||||||||||||||||||||
错误 分析 | 出现此类错误,一般是服务器上的模块的存储文件属主权限有问题。将/backup属主权限改成rsync。如果没有rsync,请仔细检查rsync配置步骤。 | ||||||||||||||||||||||||||||||||||||||||
先检查脚本命令是否出现语法错误;然后检查rsync能否正常使用,并测试rsync;rsync若无问题,检查inotify是否可以正常使用。注意,inotify是在客户机上安装的,而非服务器。 | |||||||||||||||||||||||||||||||||||||||||
Linux基础——inotify事件监控
最新推荐文章于 2024-08-28 15:35:18 发布
本文介绍了inotify作为Linux下的一种文件系统事件监控机制,能实时并异步地监控文件系统的修改、添加、删除等操作。同时,结合rsync工具,可以实现文件的秒级同步,尤其适用于企业数据备份场景。在监控过程中,可以通过inotifywait设置参数来关注特定事件,如创建、删除、修改等。文章还提供了错误分析和解决方案,确保监控和同步的稳定性。
摘要由CSDN通过智能技术生成