环境要求:

准备两台服务器(VM)

两个IP

1.A服务器=主服务器===>安装软件(rsync+sersync)

2.B服务器=从服务器===>安装软件(rsync)

ip划分

A服务器:192.168.1.200

B服务器:192.168.1.201

操作系统:

[root@localhost ~]# hostnamectl 

   Static hostname: localhost.localdomain

            Icon name: computer-vm

                 Chassis: vm

          Machine ID: 27293dbfbbb64cf680e224375a128156

               Boot ID: bef11f3b69a8401da09bc9b40eb75ea4

       Virtualization: vmware

 Operating System: CentOS Linux 7 (Core)

       CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-514.10.2.el7.x86_64

      Architecture: x86-64

  

A服务器安装:



Rsync可以编译安装或者yum,本机yum安装

[root@localhost ~]# rsync --version

rsync  version 3.0.9  protocol version 30

Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.

Web site: http://rsync.samba.org/ #下载地址

Rsync服务器主要有三要素,端口873


1.认证账号及密码文件

/opt/app/rsyncd/auth.pass                      #本机存放位置,此位置可自由定制.

echo "users:123456" >/opt/app/rsyncd/auth.pass

chmod 600 /opt/app/rsyncd/auth.pass    #修改权限,不修改会报错

2.同步文件目录

mkdir -p /backup/web  #个人定制

3.主要配置文件rsyncd.conf,默认配置文件是示例,这里存放了上面两点的目录

cat /etc/rsyncd.conf           

uid = root                                  #拥有目录权限用户

gid = root                                  #拥有目录权限的组

use chroot = no                         #内网使用可以不用配置

max connections = 200              #最大连接数  

timeout = 300                               #超时时间

pid file = /var/run/rsyncd.pid              #启动进程写入此PID文件

lock file = /var/run/rsyncd.lock            #lock文件来配合最大连接数参数

log file = /var/log/rsyncd.log               #日志文件

ignore errors = yes                         #忽略I/O错误

read only = false                           #允许读写      

list = false                                #不列出列表

hosts allow = 192.168.1.0/24                #允许网段

hosts deny = *                              #拒绝其他网段

auth users = users                          #认证用户

secrets file = /opt/app/rsyncd/auth.pass    #密码文件


[web]                                       #同步目录

path = /backup/web


#End



Sersync安装:

配置认证密码

echo "123456" >/opt/app/sersyncd/auth.pass #此密码文件不要配置用户,不然报错.

chmod 600 /opt/app/sersyncd/auth.pass

下载软件:根据系统下载32或64软件.

https://code.google.com/archive/p/sersync/downloads

解压软件

tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz

移动到opt这个目录

mv GNU-Linux-x86  /opt/app/sersyncd/sersync 

配置confxml.xml,只贴出了修改部分,红色为修改.其他模块未动.

cd /opt/app/sersyncd/sersync
vim confxml.xml 

  <sersync>

     <localpath watch="/backup/web">        <!--本机同步目录-->

     <remote ip="192.168.1.201" name="web"/>    <!--B服务器IP及同步文件-->

     <!--<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="users" passwordfile="/opt/app/sersyncd/auth.pass"/> 

      <!--认证用户及认证B服务器密码文件目录-->

       <userDefinedPort start="false" port="874"/><!-- port=874 -->

       <timeout start="false" time="100"/><!-- timeout=100 -->

        <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>


B服务器安装(rsync)

可以复制A服务器配置,不要sersync部分即可.


启动服务,先启动B服务器,在启动A服务器,请关闭防火墙及selinux.或者配置防火墙

/usr/bin/rsync --daemon #rsync服务启动方式,centos7可以用systemctl(yum安装方式)

/opt/app/sersyncd/sersync/sersync2 -r -d -o /opt/app/sersyncd/sersync/confxml.xml #启动sersync,请看启动信息,以免报错

查看端口

ps -ef | grep rsync

netstat -lnt | grep 873

lsof -i:873