Sersync项目利用Inotify与Rsync技术实现对服务器数据实时复制的解决方案,其中Inotify用于监控Sersync所在服务器上文件系统的事件变化,当事件发生变化时就调用rsync命令将变化的数据复制到远端服务器上。
Sersync项目的特点如下:
·使用C++编写,支持对监控事件的过滤功能。
·Sersync采用XML配置文件,然后由守护进程启动,配置起来比Inotify-tools更简单。
·使用多线程进行复制,即可以并发复制多个不同文件。
·Sersync自带出错处理机制,通过失败队列对出错的文件重新进行复制。
·Sersync自带crontab功能,可实现对失败队列中的文件定时整体复制。
·Sersync自带socket与HTTP的协议扩展,可以满足有特殊需求的公司二次开发。
一、提前准备
1、rsync搭建完成,检查
1)用rsync命令可以推送拉取:
#rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup/
2)检查当前系统NFS01是否支持Inotify实时监控
通过检查/proc/sys/fs/inotify目录中是否存在以下3个文件,可以确认系统是否支持实时监控程序。
ls -l /proc/sys/fs/inotify/
total 0
-rw-r--r--. 1 root root 0 Apr 14 18:54 max_queued_events
-rw-r--r--. 1 root root 0 Apr 14 18:54 max_user_instances
-rw-r--r--. 1 root root 0 Apr 14 18:54 max_user_watches
二、sersync软件包安装
1、下载软件:
#wget https://github.com/wsgzao/sersync/blob/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
2、解压
#tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
3、有可能从官网下载的解压之后不好用,可以通过其他途径下载。
4、安装
#mkdir /application -p
#mv application/sersync /application/ #<==把解压后的软件复制到/application目录里。
#tree /application/ #<==查看结果。
[root@nfs01/application/sersync]#ll
total 4
drwxr-xr-x 2 root root 21 Dec 23 2012 bin
drwxr-xr-x 2 root root 96 Mar 21 20:47 conf #<==sersync配置文件信息。
drwxr-xr-x 2 root root 31 Sep 28 2016 logs
-rw-r--r-- 1 root root 247 Sep 28 2016 readme.txt
三、权限、配置文件
1、修改Sersync软件配置命令权限信息的命令如下
#chmod +x /application/sersync/bin/sersync #<==默认Sersync软件命令没有执行权限,需要赋予其执行权限。
#ls -l /application/sersync/bin/sersync
-rwxr-xr-x 1 root root 1810128 Oct 26 2011 /application/sersync/bin/sersync
2、sersync配置文件
# vim -n confxml.xml

四、获取sersync帮助文档
#/application/sersync/bin/sersync -h

五、开启sersync软件服务
1、开启服务
#/application/sersync/bin/sersync -d -n 10 -o /application/sersync/conf/confxml.xml
2、开机启动
1)#tail -1 /etc/rc.local
/application/sersync/bin/sersync -d #<==放入开机自启动。
2)由于/etc/rc.local是/etc/rc.d/rc.local的软连接,所以必须确保/etc/rc.d/rc.local有x权限(可执行)
#chmod +x /etc/rc.d/rc.local




