一、什么是rsync?
rsync,全称是Remote synchronization 的缩写,是开源、高速、可实现本地及远程,全量及增量的数据复制(拷贝)工具。
全量与增量的区别:
全量就是每次执行都全部复制整个文件下面的所有的内容,而增量是只复制改变的那一部分文件数据内容(要复制到的文件当中没有的文件内容)
二、rsync的作用
1、支持拷贝普通文件与特殊文件,例如链接文件,设备文件等。
2、支持排除指定文件或者目录同步的功能,相当于打包命令tar的排除功能。
3、可以做到保持原文件或者目录的权限、时间、软硬连接、属主、组等所有属性均不改变。
4、可以实现增量复制,即只复制发生改变的数据,因此数据传输速率高。
5、可以使用rcp、rsh、ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据进行加密)。
6、可以使用socket(进程方式)传输文件和数据(服务端和客户端)。
7、支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像
三、rsync的三种工作模式
1、本地(local)
rsync相当于是一个命令
命令操作:
■ 复制数据(仅在一台机器增量),相当于cp
■ 通过加参数实现删除功能,相当于rm命令
■ 查看属性信息功能,相当于ls -l 功能
rsync命令参数:
参数 | 解释说明 |
---|---|
-v | verbose,显示输出过程 |
-z | compress,压缩 |
-a | archive,多参数集合(-rtopgDI) |
-r | recursive:递归 |
-t | time,保持时间属性 |
-o | ower:保持属主不变 |
-p | perms,保持权限不变 |
-g | groub,保持用户组不变 |
–delete | 删除 |
–exclude | 排除 |
–exclude-from | 从文件中排除 |
2、远程shell模式
借助类似于ssh隧道传输数据,适合不同机器之间的数据传输
pull—拉:从远端拉取到本地
命令:rsync [参数选项] [认证用户] @ [主机地址] :[源路径] [本地路径]
push—推:从本地推到远端
命令:rsync [参数选项] [本地路径] [认证用户] @ [主机地址] :[目标路径]
3、rsync守护进程模式
首先要搭建rsync服务器,才能在客户端实现推拉数据
配置文件:/etc/rsyncd.conf
rsync客户端命令语法:
pull,拉:从远端拉取到本地。
语法1(常用):
rsync [OPTION…] [USER@]HOST::SRC… [DEST]
rsync命令 参数选项 [虚拟用户]@[主机地址]::[模块名] 本地路径
语法2:
rsync [OPTION…] rsync://[USER@]HOST::SRC… [DEST]
rsync命令 参数选项 rsync://[虚拟用户]@[主机地址]/[模块名] 本地路径
push,推:从本地推到远端。
语法1(常用):
rsync [OPTION…] [DEST] [USER@]HOST::SRC…
rsync命令 参数选项 本地路径 [虚拟用户]@[主机地址]::[模块名]
语法2:
rsync [OPTION…] [DEST] rsync://[USER@]HOST::SRC…
rsync命令 参数选项 本地路径 rsync://[虚拟用户]@[主机地址]/[模块名]