哪个最适合备份rsync vs rdiff vs rsnapshot

我正在使用rsync从远程FTP备份到本地计算机。

我在网上看到rsnapshot比较好。

只是想知道在生产环境中使用哪一个

rsnapshot使用rsync和cp -al以最小的额外存储保留历史归档。 简而言之:

  • 有'最后'的副本,我们把它称为回0
  • 前面的副本被称为back-1,back-2 ….

每个副本“似乎”是一个完整的副本,但实际上任何未更改的文件只存储一次。 它出现在几个使用硬链接的目录中。

这个过程很简单,比方说现在有4个副本,back-0到back-3。 当调用rsnapshot时,它:

  • 删除最旧的副本:back-3( rm -r back-3
  • 将后退2改为后退3( mv back-2 back-3
  • 将back-1重命名为back-2( mv back-1 back-2
  • 从back-0到back-1( cp -al back-0 back-1 )创build一个“链接镜像”,这会创buildback-1目录,而不是将每个文件从back-0复制到back-1,硬链接; 实际上,第二次引用同一个文件。 这第二个名字和第一个名字一样有效,直到两个名字被删除,文件的数据才会从磁盘上被删除。
  • 从原始存储执行一个rsync到back-0。 由于之前的备份仍然是在back-0,这个rsync是非常快的(即使在远程链接,因为它只传输更改)。 一个自上一次备份以来被更改的文件被replace为back-0而不是back-1,打破了它们之间的链接,所以现在你保留了两个版本。 一个未更改的文件在两个目录之间保持共享,并且不需要额外的存储来保持先前的拷贝一致。

一旦你熟悉程序,你会发现它非常方便。 这并不复杂,有时候我会手动去保留零星的“以前的版本”在有趣的时间点(就在重要的升级之前,安装和configuration系统之后等)

这个FAQ的最后回答是:rsync是一个复制/同步工具,对远程备份非常有效。 rsnapshot和rdiff做的不止一个备份:它们保留备份的历史logging。 AFAIK,rdiff通过保留每个备份(差异备份)之间的文件差异来做到这一点,所以归档不能按原样访问。 OTOH rsnapshot使用硬链接为每个已更改文件的相同文件完整副本,因此存档是用户/pipe理员可以从中进行search的普通目录。 所以有些情况下,每个performance最好。

我们使用rsync将数据从我们的主备份服务器复制到我们的热备份服务器。 它为此目的非常有效。 至于rsnapshot,我不熟悉使用该解决scheme的好处。