将 RSYNC 与 Amazon S3 结合使用

ale*_*lex 42 rsync amazon-s3

我有兴趣使用 Amazon S3 来备份我们的 ~ 100gb 服务器映像(通过 Acronis 备份工具创建)

显然,就带宽和成本而言,每晚上传到 S3 的成本会很高。我正在考虑将 rsync 与 S3 一起使用,但遇到了s3rsync。 我只是想知道是否有人有使用这个或任何其他实用程序的经验?

Set*_*eth 36

我最近在谷歌上偶然发现了这个线程,自从提出这个问题以来,情况似乎发生了一些变化。这里建议的大多数解决方案要么不再维护,要么已经商业化。

在使用 FUSE 和其他一些解决方案遇到一些挫折之后,我决定使用 Python 为 S3 和 Google Storage 编写自己的命令行 rsync“克隆”。

你可以在 GitHub 上查看项目:http : //github.com/seedifferently/boto_rsync

我最近了解到的另一个项目是“口是心非”。它看起来有点复杂,可以在这里找到:http : //duplicity.nongnu.org/

希望这可以帮助。

更新

AWS 的 Python 团队一直致力于为他们的云服务开发基于 boto 的 CLI 项目。包含的工具中有一个 S3 接口,它复制(并在许多方面取代)了 boto-rsync 提供的大部分功能:

https://github.com/aws/aws-cli

特别是,该sync命令可以配置为几乎与 rsync 完全一样的功能:

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html


小智 11

我也很幸运使用S3cmdS3sync,这两个都是免费的。


chu*_*rnd 7

根据您的 Acronis 图像的创建方式,我不确定任何类型的 rsync 会为您节省带宽。Acronis 图像是单个文件,因此 rsync 无法读取其中的内容以仅备份更改的内容。也不确定您正在创建哪种服务器映像,但既然您说 100GB,我将假设已满?增量镜像会大大减少夜间镜像的大小,从而节省带宽。您还可以考虑将图像保存到 S3 以外的其他位置,例如磁带介质,并将其存储在场外。

  • 不,rsync 不是这样工作的。它适用于任何文件类型,不需要了解其同步文件的内部结构。相反,它比较文件块的哈希值并仅传输那些不同的块。http://en.wikipedia.org/wiki/Rsync (5认同)
  • 并且没有一个卡盘会匹配,因为图像内文件的任何微小变化都会导致整个文件因压缩而发生变化。即使关闭压缩,我也不确定它会很好地同步,因为图像中的文件可以改变顺序并且它在滚动的基础上匹配,而不是仅仅找到相同的块。 (2认同)