rsync 介绍
- 该话题有27条回复(27参与),最后更新 2020年3月21日-下午2:05。
-
rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输量。rsync中的一项同类软件不常见的重要特性是每个目标的镜像只需发送一次。rsync可以拷贝/显示目录内容,以及拷贝文件,并可选压缩以及递归拷贝。
在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH提供文件。SSH模式下,rsync客户端运行程序必须同时在本地和远程机器上安装。
rsync是以GNU通用公共许可证发行的自由软件。rsync的撰写是用来取代rcp与scp。rsync最早期程序的其中之一是用来实现通过rsync/ssh与标准Unix账号,从多重Unix客户端镜像或者备份到中央Unix服务器。与如cron类似的调度应用程序配合,任何人皆可调度介于多台电脑与中央服务器间自动加密过、基于rsync的镜像备份。
一个叫做rdiff的公用程序利用rsync的算法产生文件A与文件B间不同的差分文件(与公用程序diff类似,不过不同的差分文件格式)。差分文件可稍后被应用到文件A,转成文件B(类似patch公用程序)。
不像diff,产生差分文件的过程有两步:首先产生文件A的签名档,然后这个(相对较小)的签名档与文件B被用来产生差分档。又与diff相异的是,rdiff可适用于二进制文件。
利用rdiff,自由软件作者们写了一个叫做rdiff-backup的公用程序,它可以跨过网络维护位于另一台服务器某个文件或者目录的备份镜像。rdiff-backup存储备份以及递增的rdiff差分档。这种方式让回溯到任何备份点成为可能。
duplicity是rdiff-backup的一个变种,它利用单一存储服务(像Amazon S3)达成不需要与存储服务器合作的备份。它通过产生预先产生每个区块的散列函数,将它们加密,并送到服务器存储,然后当进行递增备份时取回。剩下的数据为满足保全需求也被加密存储。