一、rsync概述
1.1、rsync简介
Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试
此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具
1.2、rsync原理
Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的主配 置文件;Rsync可以通过rsh或ssh使用,也能以daemon模式去运行
在以daemon方式运行时Rsync server会打开一个873 端口,等待客户端去连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份
1.3、特点
1、可以镜像保存整个目录树和文件系统;
2、可以很容易做到保持原来文件的权限、时间、软硬链接等;
3、无须特殊权限即可安装;
4、优化的流程,文件传输效率高;
5、可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6、支持匿名传输
1.4、配置思路
1.4.1、基本思路
- 建立rsyncd.conf配置文件、独立的账号文件
- 启用rsync的 --daemon模式
1.4.2、配置文件rsyncd.conf
- 认证配置auth users、secrets file,不加则为匿名
1.4.3、独立的账号文件
- 用户名:密码
- 每行一个用户记录
- 独立的账号数据,不依赖系统账号
1.4.4、启用rsync服务
- 通过 --daemon独自提供服务,rsync --daemon
- 执行kill $(cat /var/run/rsyncd.pid)关闭服务
1.4.5、配置源的两种表示方法
格式一
用户名@主机地址: :共享模块名.
rsync -avz backuper@192.168.35.40::wwwroot /root
格式二
rsyne://用户名@主机地址/共享模块名
rsync -avz rsync:/ /backuper@192.168.35.40::/wwwroot /root
1.5、备份工具rsync
1.5.1、同步方式
- 全量备份
- 原有的数据全部传送
- 把原来的文件和新的文件一起统一传送
- 全量复制,效率低
1.5.2、增量备份
在传输数据之前通过一些算法通过你有的数据和我有的数据进行对比,把不一样的数据通过网络传输
增量复制,效率高
1.5.3、rsync命令
基本格式:
rsync [选项] 原始位置 目标位置
常用选项 | 说明 |
-r | 递归模式,包含目录及子目录中的所有文件 |
-l | 对于符号链接文件仍然复制为符号链接文件 |
-v |
显示同步过程的详细信息 |
-z | 在传输文件时进行压缩 |
-a | 归档模式,递归并保留对象属性,等同于-rlptgoD |
-p | 保留文件的权限标记 |
-t | 保留文件的时间标记 |
-g | 保留文件的属组标记(仅超级用户使用) |
-o | 保留文件的属主标记(仅超级用户使用) |
-H | 保留硬链接文件 |
-A | 保留ACL属性信息 |
-D | 保留设备文件及其他特殊文件 |
- -delete | 删除目标位置有而原始位置没有的文件 |
- -checksum | 根据对象的校验和来决定是否跳过文件 |
二、搭建rsync
2.1、rsync本地复制
2.1.1、搭建环境
主机 | IP地址 |
rsync | 192.168.152.130 |
client | 192.168.152.129 |
2.1.2、搭建过程
下载rsync并启动:
[root@rsync ~]#rpm -q rsync
[root@rsync ~]