美文网首页
Sersync 服务

Sersync 服务

作者: DB哥 | 来源:发表于2019-09-29 08:33 被阅读0次

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

相关文章

网友评论

      本文标题:Sersync 服务

      本文链接:https://www.haomeiwen.com/subject/mufoectx.html