一、软件简介

Rsync ( Remote sync)是一个远程数据同步工具 ,使用与unix/Linux/windows等多种平台。 可通过LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync server 备份一个 client 的数据。

Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 会打开一个873的服务通道(port),等待对方 Rsync 连接。连接时,Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。

Rsync 支持大多数的类 Unix 系统,无论是 Linux、Solaris 还是 BSD 上都经过了良好的测试。此外,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。

二、Rsync 的基本特点

  • 可以镜像保存整个目录树和文件系统;
  • 可以很容易做到保持原来文件的权限、时间、软硬链接等;
  • 无须特殊权限即可安装;
  • 优化的流程,文件传输效率高;
  • 可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接;
  • 支持匿名传输。
  • Rsync优点:
    支持增量备份。
  • 传输前执行压缩。

三、Rsync和scp的区别:

当文件数据很大时候: scp 无法备份大量数据, 特点: 先统一信息,像windows复制。

scp每次拷贝都是完整拷贝。无法增量拷贝。rsync 边复制,边比较,边统计。

端口: 873 模式:C/S

四、Rsync同步备份的原理

在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客机的rsync同步操作的服务器称为备份源。
使用rsync实现数据实时同步备份
首先服务器B(发起源)向服务器A(同步源)进行数据备份,将自己的数据备份到服务器A中。当服务器B中的数据遭到损失或者增量的时候,都会从服务器A中进行数据同步。服务器B数据丢失则从服务器A中同步数据丢失的部分。当服务器B数据增多了,就会再次向服务器A进行数据备份,但是备份的不是完整备份,而是增量备份,即备份同步源中没有的数据。