大 rsync - 推还是拉?

Que*_*ark 4 rsync

我即将rsync在 LAN 上的两台服务器之间启动一个大型项目。将文件从一台服务器送到另一台服务器还是它们(向后)拉动对我来说更好吗?

没有任何东西可以使一个工作,另一个不工作——我只是想知道是否有理由(也许是速度)让一个人胜过另一个人。

谁能给我一个很好的理由,或者没有理由做一个而不是另一个?

Ram*_*esh 9

rsync算法的工作方式可以从这里找到。

该算法识别源文件中与目标文件的某些部分相同的部分,并且仅发送以这种方式无法匹配的那些部分。实际上,该算法计算一组差异,而无需将两个文件放在同一台机器上。该算法在文件相似时效果最佳,但在文件完全不同时也会正确且合理有效地运行。

因此,无论您是上传还是下载都没有区别,因为该算法适用于源文件和目标文件的校验和。因此,任何文件都可以是源/目标。

我从这里找到了一些更有用的信息。其中一些摘录是,

RSync 是一种远程文件(或数据)同步协议。它允许您在两台计算机之间同步文件。通过同步,我的意思是确保文件的两个副本是相同的。如果有任何差异,RSync 会检测这些差异,并跨这些差异发送,这样客户端或服务器就可以更新他们的文件副本,使副本相同。

RSync 能够同步文件,而无需通过网络发送整个文件。当然,在我完成的实现中,除了文件中的任何新数据之外,只交换了大约相当于总文件大小 2% 的数据。新数据必须通过网络逐字节发送。

由于 RSync 的工作方式,它还可以用作增量下载/上传协议,允许您通过多个会话上传或下载文件。如果当前上传或下载失败,您可以稍后继续。