Centos7 使用rsync 实现多服务器文件同步

rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件。rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每次都全部传输,效率比较高。

rsync有以下特点:

1)支持目录和文件的上传和下载功能;

2)可以镜像保存整个目录树和文件系统;

3)传输效率高,只传输新增和修改过的文件。


一、服务端1(192.168.0.146):

  1. 安装软件:
    yum -y install rsync
  2. 创建需同步的目录:
    mkdir -p  /data
  3. 编辑配置文件:vim /etc/rsyncd.conf 
    transfer logging = no
    #rsync服务运行日志文件,注意,日志文件日积月累,必须保证有足够的磁盘空间
    log file = /var/log/rsyncd.log
    port = 873
    #服务端操作系统的用户可以不用root
    fake super = yes
    address = 192.168.0.146
    #服务端操作系统的用户
    uid = luhuaxiang
    #服务端操作系统的用户组
    gid = luhuaxiang
    #关闭假根功能
    use chroot = no
    read only = no
    #客户端最大连接数
    max connections = 100
    #模块名称,自定义的名称,不一定要与同步目录相同
    [common]
    #模块说明文字
    comment = hi,luhuaxiang
    #同步的目录名
    path = /data
    ignore errors
    #指定允许登录的客户端认证用户清单,多用户用逗号分隔
    auth users = luhuaxiang
    #定义rsync客户端用户认证的密码文件
    secrets file = /etc/rsyncd.secrets
    list = false
        
  4. 创建用户密码: 
    echo  "luahuaxiang:123456"  >  /etc/rsyncd.secrets
    chmod  600  /etc/rsyncd.secrets
  5. 配置防火墙规则:默认873端口
    iptables  -I  INPUT  -p  tcp  --dport  873  -j  ACCEPT
    当然也可以直接关闭防火墙
    #临时关闭防火墙
    systemctl stop firewalld service
    #开机禁止防火墙
    systemctl disable firewalld.service
    #开机启动防火墙
    systemctl enable firewalld.service

  6. 关闭SELINUX,修改vim /etc/selinux/config文件,把SELINUX参数的值改为disabled,重启系统或执行 setenforce 0 使修改马上生效。

二、服务端2(192.168.0.147):

       (步骤同上,配置文件修改IP即可)

三、客户端(192.168.0.148):        

  1.  安装软件:
    yum -y install rsync
  2. 创建需同步的目录:
    mkdir -p  /data/server1
    mkdir -p  /data/server2
  3. 创建密码文件(免输入密码):
    echo  "123456" > /etc/rsync.passwd
    chmod 600 /etc/rsync.passwd

  4. 测试同步服务器文件
    rsync -avz --password-file=/etc/rsync.passwd  luhuaxiang@192.168.0.146::common  /data/server1

     查看server1目录文件同步成功。

四、实现定时自动同步

      创建一个需要定时执行的脚本文件,如:run.sh脚本:vim  /etc/run.sh  (路径自己设置的),在此脚本中添加如下内容

rsync -auv --password-file=/etc/rsync.passwd  luhuaxiang@192.168.0.146::common  /data/server1
rsync -auv --password-file=/etc/rsync.passwd  luhuaxiang@192.168.0.147::common  /data/server2

设置脚本执行的时间:crontab –e,添加如下内容  

# 这里是1分钟执行一次,根据需要修改
*/1 * * * * /etc/run.sh

两台服务器正常同步成功:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值