目录

一、概述

1.1 rsync同步简介

1.2 同步方式

1.3 备份方式

1.4 rsync同步源

二、常用Rsync命令

三、配置源的两种表达方式

四、rsync本地复制实验

1. 看rsync有没有安装

2. 创建文件

3.  用rsync复制文件

五、服务端与客户端的实验

1. 实验配置说明

5.1 配置服务器---192.168.91.103

1. 修改配置文件

2. 创建文件

​编辑

3. 开启rsync

5.2 配置客户端---192.168.91.102

1. 创建文件夹

2. rsync同步

3. 在服务器写入文件

4. 客户端测试同步文件

5. 免交互同步

6. 删除文件后,同步更新


一、概述

1.1 rsync同步简介

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

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

Rsync 是 Linux 系统下的数据镜像备份工具,使用快速增量备份工具 Remote Sync 可以远程同步, 可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,且采用优化的同步算法, 传输前执行压缩,因此非常适合用于架构集中式备份或异地备份等应用。同时Rsync支持本地复制,或者与其他 SSH、rsync 主机同步

官方网站:https://rsync.samba.org/

1.2 同步方式

  1. 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地。 
  2. 差量备份:备份上次完全备份以后有变化的数据(他针对的上次的完全备份,他备份过程中不清除存档属性)。
  3. 增量备份:备份上次备份以后有变化的数据(他才不管是那种类型的备份,有变化的数据就备份,他会清除存档属性)

1.3 备份方式

1、发起端:负责rsync  同步操作的客户机叫做发起端,通知服务器我要备份你的数据
2、备份源:负责响应来自客户机rsync   同步操作的服务器叫做备份源,需要备份的服务器
3、服务端:运行rsyncd服务,一般来说,需要备份的服务器
4、客户端:存放备份数据

1.4 rsync同步源

  • 在远程同步任务中,负责发起 rsync 同步操作的客户机称为客户端,而负责响应来自客户端的 rsync 同步操作的服务器称为备份源,也称之为同步源
    • 在下行同步(下载)中,同步源负责提供文档的原始位置,发起端应对该位置有读取权限
    • 在上行同步(上传)中,同步源负责提供文档的目标位置,发起端应对该位置具有写入权限

二、常用Rsync命令

命令使用语法

rsync 【选项】原始位置 目标位置

常用选项

-r递归模式,包含目录及子目录中的所有文件
-l对于符号链接文件仍然复制为符号链接文件
-v显示同步过程的详细信息
-z在传输时进行压缩
-a归档模式,递归并保留对象属性,等同于-rlptgoD
-p保留文件的权限标记
-t保留文件的时间标记
-g保留文件的属组标记(仅超级用户使用)
-o保留文件的属主标记(仅超级用户使用)
-H保留硬链接文件
-A保留ACL属性信息
-D保留设备文件及其他特殊文件
--delete删除目标位置有而原始位置没有的文件
--checksum根据对象的校验和来决定是否跳过文件

--delete的作用简单来说,就是删除差异文件,保留一致性

三、配置源的两种表达方式

格式一:
用户名@主机地址::共享模块名
rsync -avz backuper@192.168.10.22::wwwroot /opt/

格式二:
rsync://用户名@主机地址/共享模块名
rsync -avz rsync://backuper@192.168.10.22/wwwroot /opt/

四、rsync本地复制实验

1. 看rsync有没有安装

rpm -qc rsync

2. 创建文件

3.  用rsync复制文件

五、服务端与客户端的实验

1. 实验配置说明

192.168.91.103       服务端

192.168.91.102       客户端        

下行同步:将client服务器数据备份到slave服务器

5.1 配置服务器---192.168.91.103

1. 修改配置文件

vim /etc/rsyncd.conf

uid = root
gid = root
use chroot = yes
port 873
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
host allow = 192.168.91.0/24
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[wwwroot]
path = /var/www/html
comment = Document root of www.nj.com
read only = yes
auth users = xzq
secrets file = /etc/rsyncd_users.db

2. 创建文件

vim /etc/rsyncd_users.db
xzq:123456
 
chmod 600 /etc/rsyncd_users.db

mkdir /var/www/html -p
chmod +r /var/www/html/

3. 开启rsync

rsync --daemon				#启动 rsync 服务,以独立监听服务的方式(守护进程)运行 

netstat -anpt | grep rsync

5.2 配置客户端---192.168.91.102

1. 创建文件夹

2. rsync同步

rsync -avz xzq@192.168.91.103::wwwroot /opt/kk_backup/

3. 在服务器写入文件

4. 客户端测试同步文件

5. 免交互同步

echo "123456" > /etc/server.pass
chmod 600 /etc/server.pass

rsync -avz --password-file=/etc/server.pass xzq@192.168.91.103::wwwroot /opt/kk_backup/

6. 删除文件后,同步更新

服务器删除文件

客户端同步测试 

解决文件同步 

rsync -avz --delete --password-file=/etc/server.pass xzq@192.168.91.103::wwwroot /opt/kk_backup/

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐