利用rsync+inotify搭建实时同步系统

本文介绍了如何利用inotify监控文件系统变化并结合rsync实现实时同步。首先,解释了inotify的特性及其在Linux内核中的支持情况。接着,详细讲述了在CentOS-6.6系统上安装inotify-tools和rsync的步骤。然后,通过一个企业案例展示了如何配置rsync服务端(Web1和Web2),并创建rsync客户端来监控文件变化。最后,提供了测试rsync+inotify实时同步功能的方法。
摘要由CSDN通过智能技术生成

【系统环境:CentOS-6.6-x86_64】

了解inotify

  • inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,Linux内核从2.6.13版本起,加入对inotify的支持。通过inotify可以监控文件系统中添加、删除、修改、移动等各种细微的事件,利用这个内核接口,第三方软件可以监控文件系统下文件的各种变化情况,inotify-tools就是这样的一个第三方软件。
  • rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据与实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,会触发rsync同步,这样刚好解决了同步数据的实时性问题。

安装inotify工具inotify-tools

  • 由于inotify的特性需要Linux内核的支持,在安装inotify-tools前需要先确认Linux系统内核是否是2.6.13版本以上,如果Linux内核版本低于2.6.13,就需要重新编译内核加入对inotify的支持,可以用如下方法判断内核是否支持inotify:
    这里写图片描述

  • 可以到notify-tools.sourceforge.net下载相应版本的inotify-tools,然后编译安装。

    wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
    tar zxvf inotify-tools-3.14.tar.gz
    cd inotify-tools-3.14  
    ./configure  
    make;make install 
  • 安装完inotify-tools后,会生成inotifywait和inotifywatch两个指令。其中,inotifywait用于等待文件或文件集上的一个特定事件,可以监控任何文件和目录设置,并且可以递归地监控整个目录树;inotifywatch用于手机被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。
    这里写图片描述

企业应用案例:利用rsync+inotify搭建实时同步系统

案例描述

一个CMS内容发布系统,内容发布节点负责将用户发布的数据生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值