sersync同步配置

说明:
A机器(源):rsync+sersync+inotify
B机器(备):rsync

一、准备:

1.如果安装了宝塔,请开放873端口

2.修改系统设置

vi /etc/sysconfig/selinux
修改为
SELINUX=disabled

3.安装可能会使用到的命令

yum install vim -y
yum install tree -y
yum install rsync -y
yum install screen -y

二、安装sersync

1.下载sersync压缩包

cd /root
wget https://github.com/wsgzao/sersync/raw/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
国内备用地址:
wget http://down.starli.top/Sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz

2.解压

tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz

3.解压出来3个目录

GNU-Linux-x86/
GNU-Linux-x86/sersync2
GNU-Linux-x86/confxml.xml

4.把第一目录放到/serync下面

mv GNU-Linux-x86 /sersync
cd /sersync
mkdir bin conf logs
mv /root/GNU-Linux-x86/confxml.xml /sersync/conf/confxml.xml
mv /root/GNU-Linux-x86/sersync2 /sersync/bin/sersync

最终的结构目录如下(方便美观,如果不想折腾,就放一个目录下也行)
.
├── bin
│   └── sersync
├── conf
│   └── confxml.xml
├── logs
└── rsync.pass

5.修改conf下cnofxml.xml配置

如果怕麻烦,直接用附件的配置包,修改配置文件就行了
主要修改下面这段:

    <sersync>
        <localpath watch="/files"> #files修改为你想监控的目录
            <remote ip="B机器的IP" name="B机器rsync配置节点比如,上面的z1"/>
        </localpath>
        <rsync>
            <commonParams params="-artuz"/>
            <auth start="false" users="root" passwordfile="/sersync/rsync.pass"/>  #rsync同步密码位置
            <userDefinedPort start="false" port="874"/><!-- port=874 -->
            <timeout start="false" time="100"/><!-- timeout=100 -->
            <ssh start="false"/>
        </rsync>
        <failLog path="/sersync/logs/rsync_fail_log.sh" timeToExecute="60"/>#失败日志脚本存放地点

6.创建同步验证密码

echo '123456' >> /sersync/rysnc.pass

7.写入环境变量

echo 'export PATH=$PATH:/sersync/bin' >>/etc/profile

8.查看是否写入

tail -l /etc/profile

9.使写入生效

source /etc/profile

10.查看是否能找到环境变量, 任意地方运行sersync命令

which sersync
#正常结果
/sersync/bin/sersync

#不正常的结果
/usr/bin/which: no sersync in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sersync/bin)
#如果你确认上面路径什么的都没问题,尝试下
chmod 755 -R /sersync
chmod 600 -R /sersync/rsync.pass

11。测试同步命令

sersync -r -d -o /sersync/conf/confxml.xml
sersync -rdo /sersync/conf/confxml.xml
两行意思一样
命令参数说明
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序

12.设置开机自动运行

echo 'sersync -r -d -o /sersync/conf/confxml.xml' >> /etc/rc.d/rc.local

三、rysnc 配置

rsync 配置(两个服务器都要配置)
A服务器配置目的:方便第一次完整同步拉取
B服务器配置目的:配置rysnc保持同步

1.修改rysnc服务端配置

vim /etc/rsyncd.conf
motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
port = 873
uid = root
gid = root
use chroot = no
read only = no
#max connections = 10
host allow =*
list = yes
ignore errors

[files]
path = /files
ignore errors
list = true
secrets file = /etc/rsyncd.secrets
[z1]
path = /z1
ignore errors
list = true
secrets file = /etc/rsyncd.secrets
[z2]
path = /z2
ignore errors
list = true
secrets file = /etc/rsyncd.secrets

2.设置密码和权限

echo "admin:123456" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

3.设置开机启动

rsync --daemon
或者(二选一)
/usr/bin/rsync --daemon

4.检查是否运行

netstat -anpt |grep rysnc

先远程拉取一次

rsync -avP --progress --delete root@A服务器IP:/files /www/files/z1

四、防止sersync挂掉的自动脚本,记得加入计划任务

#!/bin/bash
sersync="/sersync/bin/sersync"
confxml="/sersync/conf/confxml.xml"
status=ps aux | grep 'sersync2' | grep -v 'grep' | wc -l
if [ $status -eq 0 ];then
    $sersync -d -r -o $confxml &
else
    exit 0
fi

加入计划任务

chmod +x /sersync/autostart.sh
crontab -e */30 * * * * /usr/bin/sh /sersync/autostart.sh

五、其他命令

查看rysnc进程ID
ps -ef|grep rysnc
kill ID

sersync打包文件,直接修改参数就能用

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

标签

发表评论