最近需要在生产环境上rsync+inotify实时同步,但是测试发现效果极其不理想,我需要实时同步的目录大小大概为70G。起初用空目录测试的话效果极佳,但是本身我需要同步的目录很大,当我测试写入一个文件时会马上同步到备机,但是脚本后台执行内容日志一直刷扫遍目录下的所有文件,再写入一个文件时是不会马上同步到备机上的,当然等多久我不知道,我想应该会把目录扫遍完成吧!所以在网上找了一个sersync+rsync,我做了一下并发测试,同步效果确实不错。
环境:192.168.168.207(主机)
192.168.168.208(备机)
前提两台服务器都已经安装了rsync命令。
备机操作:
1、在/etc目录下新增一个rsyncd.conf文件,内容如下:
uid=root
gid=root
maxconnections=36000
usechroot=no
logfile=/var/log/rsyncd.log
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsyncd.lock
[xxx] ===========>此处为模块名
path=/opt/xxx ===========>此处为目录路径
comment=rsync files
ignoreerrors=yes
read only=no
hostsallow=192.168.168.0/24
hostsdeny=*
2、保存上述文件并启动rsync服务。
rsync --daemon
3、确保服务正常启动
netstat -an | grep 873查看873端口是否开启
温馨提示:确保主机能访问到备机的873端口
主机操作:
4、下载sersync软件,因为我的操作系统是64位的,所以下载64位版本
解压文件
tar zxvf sersync2.5_64bit_binary_stable_final.tar.gz
5、修改解压后GNU-Linux-x86/confxml.xml文件,主要修改如下内容:
其它内容不变即可。
6、启动脚本(当然网上有很多启动相关参数,需要的可以查看一下)
./sersync2 -d -r
7、测试工作(略)