前言
提到数据同步就必然会谈到rsync,一般简单的服务器数据传输会使用ftp/sftp等方式,但是这样的方式效率不高,不支持差异化增量同步也不支持实时传输。针对数据实时同步需求大多数人会选择rsync+inotify-tools的解决方案,sersync是国人基于前两者开发的工具,不仅保留了优点同时还强化了实时监控,文件过滤,简化配置等功能,帮助用户提高运行效率,节省时间和网络资源。
提示:以下是本篇文章正文内容,下面案例可供参考
一、实时同步的原理
- 需要部署好rsync守护进程服务,实现数据传输
- 需要部署好inotify服务,实现目录中数据变化监控
- 将rsync服务和inotify服务建立联系,将变化的数据进行实时备份传输
二、实时同步部署
1.在客户端部署rsync
2. 部署inotify监控服务
inotify应该安装在存储服务器上,监控文件是否有变化, 是否要同步到备份服务器上
第一步: 在存储服务器上安装inofity监控服务
[root@web-o1 ~]# yum install -y inotify-tools
第二步: 熟悉命令的使用
[root@web-o1 ~]# rpm -ql inotify-tools
/usr/bin/inotifywait # 监控目录数据信息变化(重要)
/usr/bin/inotifywatch # 对监控的变化信息进行统计
/usr/lib64/libinotifytools.so.0
/usr/lib64/libinotifytools.so.0.4.1
/usr/share/doc/inotify-tools-3.14
/usr/share/doc/inotify-tools-3.14/AUTHORS
/usr/share/doc/inotify-tools-3.14/COPYING
/usr/share/doc/inotify-tools-3.14/ChangeLog
/usr/share/doc/inotify-tools-3.14/NEWS
/usr/share/doc/inotify-tools-3.14/README
/usr/share/man/man1/inotifywait.1.gz
/usr/share/man/man1/inotifywatch.1.gz
inotifywait命令使用方法
格式: inotifywait [参数] 监控的目录
-m|--monitor --- 实现一直监控目录的数据变化
-r|--recursive --- 进行递归监控
-q|--quiet --- 尽量减少信息的输出
--format <fmt> --- 指定输出信息的格式
--timefmt --- 指定输出的时间信息格式
-e|--event --- 指定监控的事件信息
创建监控目录
[root@web-o1 ~]# mkdir /data
[root@web-o1 data]# ino