rsync 远程同步

目录

一、什么是rsync

二、搭建步骤

1、准备工作

 2、进入配置文件,进行设置基础配置

3、建立同步账户

4、同步目录设置权限

5、查看进程状态是否成功

三、同步发起


一、什么是rsync

        rsync,是一款开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持连接和权限,且采用优化的同步算法,传输前可以进行执行压缩,因此非常适用于异地备份、镜像服务器等应用。

在远程同步任务中,负责发起rsync同步操作的客户机成为发起端,二负责响应来自客户机的rsync同步操作的服务器成为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对位置具有读取权限。

        格式也是相对较为简单:rsync 选项 原始位置 目标位置

        在同步的时候常用的选项通常是a、v、z三个选项,分别代表的意思:

        -a:归档模式,递归并且保留对象属性

        -v:显示同步过程

        -z:在传输文件时进行压缩

        一般在同步的时候,常用的是这三个,除了这三个,还有两个较为常用的处理动作的选项

        --delete:跟同步源进行校验,将同步源目录内没有的,自己同步目录中有的删除,来达到跟同步源的文件一致

        --checksum:根据对象的校验和,来决定是否跳过文件

二、搭建步骤

1、准备工作

关闭防火墙以及selinux

systemctl disable firewalld
setenforce 0

检查rsync是否已经安装,contos7中,默认是加载了rsync远程同步功能的,以防万一,先检查一遍

rpm -q rsync
yum install rsync    #如果没有安装的话,可以现场下载安装,或者嫌弃版本低,也可以更新一下

 2、进入配置文件,进行设置基础配置

vim /etc/rsyncd.conf
uid = nobody    
gid = nobody
use chroot = yes     #禁锢在原目录
pid file = /var/run/rsyncd.pid    #监听地址
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2    #同步时,不再进行压缩的类型
addres = 192.168.75.51    #监听地址
port = 873        #监听地址端口号
log file = /var/log/rsycd.log    #存放进程ID的文件位置
hosts allow = 192.168.75.0/24    #允许访问的客户机的地址(只有这个网段的用户可以进行访问)
[ftp]    #共享模块的名字
path = /var/www/html    #共享目录的真实路径
comment = web service    #备注
read only = yes    #是否只读
auth users = backuper    #进行授权的账号,如果要设置多个账号,以逗号隔开即可
secrets file = /root/rsyncd_users.db    #存放账户信息的数据文件

3、建立同步账户

进入上面配置的存放账户信息的文件中

vim /root/rsyncd_users.db
>  backuper:123123     #在该文件下,创建同步用户,以及用户的密码

再给该文件进行授权,因为该文件较为特殊,权限级别必须为600,才能正常启动

chmod 600 /root/rsyncd_users.db

4、同步目录设置权限

给用于同步的目录,三种类用户都添加读的权限

chmod +r /var/www/html      #还没有安装nginx服务的时候会产生的,没有目录的话,也可以自己创建一个

添加完成之后,可以查看一下,用户读取的权限是否添加成功

5、查看进程状态是否成功

开启守护进程,后台运行

rsync --daemon

查看端口

netstat -anpt |grep rsync

#查看的结果
#tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      22407/rsync
#tcp6       0      0 :::873                  :::*                    LISTEN      22407/rsync

配置正常的话,先关闭进程

kill $(cat /var/run/rsyncd.pid)

三、同步发起

备份发起端,会从同步源所提供的文件夹中的文件,进行请求同步,将实现同步的文件中的文件,同步到自己指定的目录中。但是如果同步源的用户账户文件权限不是600的话,可能会导致同步申请失败。

当同步源开启的时候,在同步发起端进行同步请求连接

rsync -avz backuper@192.168.75.51::ftp /lhk
注:
-avz   选项
backuper    同步源端设置的同步账户,账户可以同时配置多个
@192.168.75.51    同步源的IP地址
::ftp    同步的模块名字
/lhk    同步过来的文件的存放位置     

 发起端,同步数据存放目录下面,现在空无一物

 同步源负责同步共享的文件下下,假如目前有一个文件产生

 在发起端知道有文件产生之后,就可以进行建立同步,从同步源进行同步

 在发起端输入同步请求之后,输入同步账户的密码之后,即可进行同步获取得到目标文件

还可以使用--delete选项进行校验,可以删除本地多余的选项,只留下同步源目录中存在的文件

在发起端的同步目录中创建一个新的文件

 然后想同步源进行发起同步申请,并且附加上delete选项,进行删除多余项

 执行的时候,会进行跟同步源的文件进行校验,将发起端的多余的文件进行删除。可以达到异地快速校验的方式,有可能这一个发起端,可能会从不同同步源进行同步,或者是被同事在不知情的情况下创建了文件,导致不知道哪一个文件是需要的同步源的文件,所以可以借助这个来进行校验。

--checksum可以理解为,当发起端发起申请的时候,会将自己需要同步的目录中的数据发送过去,同步源接收到之后,进行同步的时候,同步源会将自己同步目录中的每个文件进行分块化处理,然后将发起端的数据也进行相应的分块化处理,来进行对比校验和,一致的话,就跳过这个数据块。

rsync远程同步,到这里就搭建好了,还有一些实时同步等功能,这里就暂时先不做介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值