Linux System Environment
[root@nfs ~]# cat /etc/redhat-release #==》系统版本
CentOS release 6.7 (Final)
[root@nfs ~]# uname –r #==》内核版本
3.10.0-862.el7.x86_64s
[root@nfs ~]# uname -m #==》系统架构
x86_64
[root@nfs ~]# echo $LANG #==》系统字符集
en_US.UTF-8
Sersync功能
标注:功能与inotify相同,属于文件实时同步
1、配合rsync命令推送到备份服务器,实现实时复制功能
2、支持通过配置文件管理
3、真正的守护进程socket
4、可以对失败文件定时重传(定时任务功能)
5、第三方的HTTP接口(例如更新cdn缓存)
6、默认多线程rsync同步
Sersync命令参数
1、-d #==》启用守护进程模式
2、-r #==》在监控前,将监控目录与远程主机用rsync命令推送一遍
3、-n #==》指定开启守护线程的数量,默认为10个
4、-o #==》指定配置文件,默认使用confxml.xml文件
5、-m #==》单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
6、-m #==》单独启用其他模块,使用 -m socket 开启socket模块
7、-m #==》单独启用其他模块,使用 -m http 开启http模块
8、-h #==》查看帮助
9、不加-m参数,则默认执行同步程序
Sersync注意事项
1、Sersync需要手动下载,sersync官网已不再更新软件 http://sersync.sourceforge.net/
Sersync软件包64位下载地址:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
2、Sersync的配置文件和启动程序都在软件包里,可以解压直接使用
3、Sersync软件包里包含confxml.xml配置文件和sersync2二进制命令
一、Sersync配置
标注:NFS服务器和Rsync服务器部署安装在此教程省略
架构规划
主机类型 主机名称 主机IP地址
NFS服务端 + Sersync nfs 10.0.0.70
Rsync服务器(守护进程模式) rsync 10.0.0.60
1、配置阿里云yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
2、下载Sersync
[root@nfs ~]# mkdir /etc/sersync
[root@nfs ~]# cd /etc/sersync/
able_final.tar.gz: No such file or directory
[root@nfs sersync]# wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs sersync]# mv ./GNU-Linux-x86/* ./
[root@nfs sersync]#rm -rf GNU-Linux-x86 sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs sersync]# tree /etc/sersync/
/etc/sersync/
├── confxml.xml #==》Sersync配置文件
└── sersync2 #==》Sersync二进制执行命令
3、配置Sersync配置文件confxml.xml
标注:只需要修改参数
[root@nfs ~]# vim /etc/sersync/confxml.xml
##############监控本地目录变化配置##############
<inotify>
<delete start="false"/> #==》delete默认是true,建议选择false,开启这个功能会在备份服务器上操作删除功能,NFS服务上的data 目录也会相应删除
<createFolder start="true"/>
<createFile start="false"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="false"/>
<modify start="false"/>
</inotify>
##############Rsync参数设置############
<sersync>
<localpath watch="/backup"> #==》Sersync本机(10.0.0.70)指定实时同步的目录
<remote ip="10.0.0.60" name="backup"/> #==》name是rsync守护进程的模块名称,Rsync服务端(10.0.0.60)
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/> #==》rsync虚拟用户及密码
<userDefinedPort start="false" port="874"/><!-- port=874 --> #==》选择false,rsync服务端(10.0.0.60)采用口默认873
<timeout start="true" time="120"/><!-- timeout=100 --> #==》rsync服务超时2分钟重新执行
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
4、启动Sersync并设置开机自启动
[root@nfs ~]# /etc/sersync/sersync2 -dro /etc/sersync/confxml.xml
[root@nfs ~]# ps -ef | grep sersync
[root@nfs ~]# echo '/etc/sersync/sersync2 -dro /etc/sersync/confxml.xml' >> /etc/rc.local
[root@nfs ~]# chmod u+x /etc/rc.d/rc.local
[root@nfs ~]# tail -1 /etc/rc.d/rc.local
/etc/sersync/sersync2 -dro /etc/sersync/confxml.xml
5、测试
==》NFS服务端 + Sersync(10.0.0.70)创建文件并查看
[root@nfs ~]# touch /backup/test{1..5}.txt
[root@nfs ~]# ls -l /backup/
total 0
-rw-r--r-- 1 root root 0 Aug 30 14:43 test1.txt
-rw-r--r-- 1 root root 0 Aug 30 14:43 test2.txt
-rw-r--r-- 1 root root 0 Aug 30 14:43 test3.txt
-rw-r--r-- 1 root root 0 Aug 30 14:43 test4.txt
-rw-r--r-- 1 root root 0 Aug 30 14:43 test5.txt
==》Rsync服务器(守护进程模式) 10.0.0.60 检查
[root@rsync ~]# ls -l /backup/
total 0
-rw-r--r--. 1 www www 0 Aug 30 14:43 test1.txt
-rw-r--r--. 1 www www 0 Aug 30 14:43 test2.txt
-rw-r--r--. 1 www www 0 Aug 30 14:43 test3.txt
-rw-r--r--. 1 www www 0 Aug 30 14:43 test4.txt
-rw-r--r--. 1 www www 0 Aug 30 14:43 test5.txt
网友评论