跳过正文
  1. Posts/

rsync原理及介绍

·20 字·1 分钟·
Kubehan
作者
Kubehan
云原生知识栈:深度解析容器技术、Kubernetes、Istio、DevOps 实践、Prometheus 监控、Envoy 代理、Golang 开发及云原生架构与微服务趋势的专业博客

 rsync原理及介绍

1.1什么是rsync

Rsync是一款开源的快速的多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/windows等多种操作系统平台。

Rsync英文全称为Remotesynchronization,即远程同步。从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh带的scp命令,但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,Rsync还可以在本地主机的不通分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。此外,利用Rsync还可以实现删除文件和目录功能,这又相当于rm命令。

一个rsync相当于scpcprm,并且优于他们每一个命令。

在同步备份数据时,默认情况下,Rsync通过其独特的quick check算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性的变化同步,但需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。

小知识:

传统的cp,scp工具拷贝每次均为完全拷贝,而rsync除了可以完整拷贝外,还具有增量拷贝的功能,因此,从同步数据的性能及效率上,Rsync工具更胜一筹。

CentOS5,rsync2.x对比方法,把所有的文件对比一遍,然后进行同步。

CentOS6,rsync3.x对比方法,一边对比差异,一边对差异的部分进行同步。

1.2rsync的特性

  • 支持拷贝特殊文件如链接文件,设备等。

  • 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

  • 可以做到保持源文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变-p

  • 可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高。

  • 可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身对数据不加密)。

  • 可以通过sockert(进程方式)传输文件和数据(服务端和客户端)。

  • 支持匿名或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

注意:需要注意拷贝的时候源目录加“/”和不加“/”的区别(加“/”表示只拷贝该目录之下的文件;不加“/”表示连该目录一起拷贝