Rsync+sersync实现实时自动同步备份

2021年7月5日15:57:47 发表评论
摘要

【心语】永远不要轻信你眼前的判断,永远不要看低任何人,别人的涵养只是你没看到而已。耳不闻人之非,目不视人之短,口不言人之过。

  • Rsync简介
    rsync是一个unix系统下的文件同步和传输工具,它本来是用以取代rcp的工具,随着它的功能不断完善,渐渐的rsync成为独树一帜的备份同步工具
  • 它具备以下特性
    1、能更新整个目录和树以及文件系统
    2、有选择性的保持符合链接、硬链接、文件属性、权限、设备以及时间等
    3、对于安装来说,无任何特殊权限要去
    4、对于多个文件来说,内部流水线减少文件等待延时
    5、能用rsh、ssh或直接端口作为传输入端口
    6、支持匿名rsync同步文件,是理想的镜像工具
    首先介绍两个概念:Rsync服务器和Rsync客户端,Rsync服务器是指运行rsync服务deamon的服务器,而Rsync客户端是发起rsync连接的服务器
  • 实现准备
角色 IP地址 系统版本 系统内核 位数
Rsync_Server 192.168.44.122 Centos 7.6 3.10.0-957.el7 x86_64
Sersync 192.168.44.163 Centos 7.6 3.10.0-957.el7 x86_64
  • 服务端部署
    [root@MQ1 ~]# rpm -qa rsync \\查询是否安装了服务
    [root@MQ1 ~]# yum install rsync –y \\如果没有安装使用yum 安装
    [root@MQ1 ~]# ll /etc/rsyncd.conf \\rsync默认的配置文件
    #为方便管理我们单独创建了一个配置文件目录
    [root@MQ1 ~]# mkdir /etc/rsyncd/ \\创建rsync的配置文件管理目录
    [root@localhost ~]# ln -s /etc/rsyncd.conf /etc/rsyncd/rsyncd.conf \\创建软链接
    [root@localhost rsyncd]# touch rsyncd.secrets \\创建秘钥文件
    [root@MQ1 rsyncd]# chmod 600 rsyncd.secrets \\秘钥文件权限必须600
    [root@localhost rsyncd]# mkdir /var/ftp \\服务端创建接收文件目录
    [root@localhost rsyncd]# vim rsyncd.conf \\编辑配置文件
#rsync对你path拥有什么权限就使用什么用户
uid = root
gid = root
#安全设置
use chroot = no
#端口
port = 873
#定义连接数
max connections = 2000
#超时时间
timeout = 300
pid file = /var/run/rsyncd.pid #rsync --daemon启动守护进程后会出现
lock file = /var/run/rsync.lock
#日志
log file = /var/log/rsyncd.log
#忽略错误
ignore errors = yes
#等于fales 我客户端才可以上传下载推送文件
read only = false
#list等于yes 允不允许列表
list = yes
#允许那些主机来访问我的Rsync服务
hosts allow = 192.168.44.163
#这个是拒绝的主机
#hosts deny = 0.0.0.0/32
#虚拟用户,在同步的时候需要用到这个用户
auth users = rsync_backup
#指定密码文件
secrets file = /etc/rsyncd/rsyncd.secrets
#定义了一个rsync模块,此处我们可以定义多个模块
[rsync]
#同步的接收文件夹
path = /var/ftp/

#配置虚拟用户和密码,传送文件的时候会使用到

[root@localhost ~]# echo "rsync_backup:123456" > /etc/rsyncd/rsyncd.secrets
Rsync+sersync实现实时自动同步备份
#启动rsync服务端
[root@localhost ~]# rsync --daemon --config=/etc/rsyncd/rsyncd.conf
Rsync+sersync实现实时自动同步备份
#客户端192.168.44.163配置
[root@MQ3 ~]# yum install rsync –y \\客户端安装
[root@MQ3 ~]# rsync --version \\ 查询rsync 版本
[root@MQ1 ~]# mkdir /etc/rsyncd/ \\创建rsync的配置文件管理目录

[root@MQ3 rsyncd]# echo "123456" > rsyncd.secrets \\客户端只需要密码文件即可
[root@localhost rsyncd]# cat rsyncd.secrets \\检测输入的密码是否正确
[root@localhost rsyncd]# chmod 600 rsyncd.secrets \\给密码文件添加权限
[root@MQ3 ~]# mkdir -p /var/ftp/pub/{test,zabbix}{a,b,c} \\ 创建几个测试目录
#手动推送文件到服务端
[root@MQ3 rsyncd]# rsync -avzP /var/ftp/ rsync_backup@192.168.45.122::rsync --password-file=/etc/rsyncd/rsyncd.secrets
#手动拉取命令,将远端XXX目录拉取到本地/data/目录下
[root@localhost data]# rsync -avzP -e 'ssh -p 22' root@192.168.44.163:/var/ftp/* /data/
Rsync+sersync实现实时自动同步备份
#服务端192.168.45.122 查看发现以及有了相同的目录
Rsync+sersync实现实时自动同步备份
#表示同步成功
说明:如果使用手动不成功那么使用sersync 也不会成功的

  • 部署sersync
    1、下载sersync
    [root@MQ3 ~]# mkdir /usr/local/sersync
    [root@MQ3 ~]# cd /usr/local/sersync/
    [root@MQ3 sersync]# wget -c http://mirrors.rootpei.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
    [root@MQ3 sersync] tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
    Rsync+sersync实现实时自动同步备份
    #解压之后生成如上图目录文件,logs 建议自行创建
    [root@MQ3 sersync]# mkdir logs
    [root@MQ3 sersync]# cp confxml.xml confxml.xml_back \\备份之后在修改
  • 修改sersync配置文件
    修改24-18行
    [root@MQ3 sersync]# vim confxml.xml
    Rsync+sersync实现实时自动同步备份
    说明:
<localpath watch="/var/ftp/"> 需要被同步的文件目录
<remote ip="192.168.44.122" name="rsync"/> IP:是服务端IP地址name是配置文件的模块名称
其余的是注释

修改如下的配置文件
Rsync+sersync实现实时自动同步备份
说明:

指定推送文件时候的参数
<commonParams params="-artuz"/>
指定推送文件时候的虚拟用户以及密码配置文件
<auth start="true" users="rsync_backup"passwordfile="/etc/rsyncd/rsyncd.secrets"/>

Rsync+sersync实现实时自动同步备份
说明:

<failLog path="/usr/local/sersync/logs/rsync_fail_log.sh
指定sersync的日志打印目录路径
  • 启动sercync
    [root@MQ3 sersync]# vim /etc/profile \\将sersync命令添加到环境变量
    echo 'export PATH=$PATH:/usr/local/sersync/' >> /etc/profile
    Rsync+sersync实现实时自动同步备份
    [root@MQ3 sersync]# sersync2 -r -d -o /usr/local/sersync/confxml.xml
-r 如果主服务和同步服务目录数据不一致,将会全量同步一次
-d 服务后台启动
-o 指定配置问启动,默认是在二进制目录下的配置文件

Rsync+sersync实现实时自动同步备份

  • 测试文件是否正常备份
    在192.168.44.163上创建一个文件
    [root@MQ3 ~]# cd /var/ftp/
    [root@MQ3 ftp]# touch {text,zabbix}{a,b,c}
    #进入到192.168.45.122服务端查看
    [root@localhost ~]# cd /var/ftp/
    Rsync+sersync实现实时自动同步备份
    同步成功
  • 重要参数说明:
    [root@MQ3 sersync]# vim confxml.xml
    #监控文件参数
    Rsync+sersync实现实时自动同步备份
    说明默认<delete start="false"/> 为true,这个参数是控制 如果客户端被同步的文件删除,服务器端也将会一并删除,如果设置false 的话 客户端被同步的文件删除,服务端已同步到的文件不会被删除!
    #文件过来模块参数
    Rsync+sersync实现实时自动同步备份
    一般情况下不开启!
    #定时备份模块
    Rsync+sersync实现实时自动同步备份
  • 微信公众号
  • 这是我的微信公众号扫一扫
  • weinxin
  • 我的QQ技术群
  • 我的QQ技术群扫一扫
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: