1. 什么是Rsync
Rsync是一款开源的快速的、可实现全量及增量的本地或远程数据备份的多功能优秀工具。并且在复制时可以不改变原有数据的属性信息,即可实现数据的备份迁移特性。Rsync软件适用于Unix/Linux/Windows等多种操作系统平台。
Rsync提供了大量参数来控制复制行为的各个方面,并且允许多种灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。通过减少网络数据发送数量,只发送源文件和目标文件之间的差异信息,从而实现数据的增量复制。
Rsync被广泛应用于数据备份和镜像,并作为一种改进后的复制命令用于日常系统中。
2. Rsync功能介绍
rsync命令可以实现的功能如下:
1)实现本地数据同步复制(本地工作模式,相当于cp命令)。
2)实现远程数据同步复制(远程Shell工作模式,相当于scp命令)。
3)实现数据信息删除功能(本地工作模式,相当于rm命令)。
4)实现数据信息查看功能(本地或远程工作模式,相当于ls命令)。
3. Rsync软件特性
- 支持拷贝普通文件与特殊文件,如链接文件,设备文件等。
- 支持排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
- 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。
- 可实现增量复制,既只复制发生变化的数据,因此数据传输效率很高。
- 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)。
- 可以通过socket(进程方式)传输文件和数据(服务端和客户端)。
- 支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像。
4. Rsync软件复制原理
默认情况下,在备份复制数据时,Rsync通过其独特的quick check算法,仅复制大小或者最后修改时间发生变化的文件或目录,当然也可根据权限、属主等属性的变化复制,但需要指定相应的参数,甚至可以实现只复制一个文件里有变化的部分内容,所以可以实现快速地备份复制数据,即采用增量复制方法对数据信息进行复制,与传统cp、scp复制工具的全量复制截然不同,增量复制数据在效率上远远高于全量复制。