Rsync远程同步
文章目录
1.概述
- rsync(Remote Sync,远程同步)是一款开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用
- 在远程同步任务中,负责发起 rsync 同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限
- 同时Rsync支持本地复制,或者与其他 SSH、rsync 主机同步
2.同步方式
1)完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地
2)差量备份:备份上次完全备份以后有变化的数据
3)增量备份:备份上次备份以后有变化的数据
3.常用选项
-r :递归模式,包含目录及子目录中的所有文件
-l :对于符号链接文件仍然复制为符号链接文件
-v :显示同步过程的详细(verbose)信息
-z :在传输文件时进行压缩(compress)
-a :归档模式,保留文件的权限、属性等信息,等同于组合选项"-rlptgoD”
-p :保留文件的权限标记
-t :保留文件的时间标记
-g :保留文件的属组标记(仅超级用户使用)
-o :保留文件的属主标记(仅超级用户使用)
-H :保留硬连接文件
-A :保留ACL属性信息
-D :保留设备文件及其他特殊文件
--delete :删除目标位置有而原始位置没有的文件
--checksum :根据校验和(而不是文件大小、修改时间)来决定是否跳过文件
4.配置源的两种表达方式
格式一
用户名@主机地址::共享模块名
rsync -avz backuper@192.168.36.10::wwwroot /opt/
格式二
rsync://用户名@主机地址/共享模块
rsync -avz rsync://backuper@192.168.36.10/wwwroot /opt/
5.实验
服务端和客户端都关闭防火墙和核心防护
systemctl stop firewalld
setenforce 0
服务端:192.168.36.10
客户端:192.168.36.20
5.1配置rsync源服务器
#查看是否安装rsync,一般系统已默认安装
[root@server ~]# rpm -q rsync
rsync-3.1.2-4.el7.x86_64
#建立/etc/rsyncd.conf配置文件
[root@server ~]# vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = yes
address = 192.168.36.10
port 873
lo