rsync下行同步
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应
目录
一、概述
1.1 rsync同步简介
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
Rsync 是 Linux 系统下的数据镜像备份工具,使用快速增量备份工具 Remote Sync 可以远程同步, 可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,且采用优化的同步算法, 传输前执行压缩,因此非常适合用于架构集中式备份或异地备份等应用。同时Rsync支持本地复制,或者与其他 SSH、rsync 主机同步
官方网站:https://rsync.samba.org/
1.2 同步方式
- 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地。
- 差量备份:备份上次完全备份以后有变化的数据(他针对的上次的完全备份,他备份过程中不清除存档属性)。
- 增量备份:备份上次备份以后有变化的数据(他才不管是那种类型的备份,有变化的数据就备份,他会清除存档属性)
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/
更多推荐
所有评论(0)