镜像 Amazon S3 存储桶的实用方法是什么?

Ben*_*Ben 12 backup cloud amazon-s3 mirroring rackspace-cloud

我想镜像我的 Amazon S3 存储桶。我想这样做是因为 1) 我不希望我的所有数据只存在于一个提供商处;和 2) 在软件错误或安全漏洞的情况下,我希望备份数据。

我可以使用 s3cmd 同步功能镜像到本地磁盘,但这不适用于非常大的存储桶,并且对快速备份恢复没有用。我宁愿将我的数据镜像到像 Rackspace Cloud Files 这样的竞争对手。

有人对在 Linux 机器上以自动方式促进这种镜像的简单而强大的方法有一些建议吗?

jbe*_*man 7

您可以使用带有“同步”选项的“ s3cmd ”实用程序,尽管我偶然发现了您的问题,因为我试图弄清楚这种同步机制是否会破坏我的重复备份。


cob*_*lla 6

我遇到了同样的问题,所以我开发了一个专门用于将一个 S3 存储桶镜像到另一个存储桶的小程序;我称之为 s3s3mirror。

我确实首先尝试了“s3cmd同步”方法,但是我有一个包含数十万个对象的存储桶,而“s3cmd同步”只是坐在那里,除了消耗越来越多的内存之外什么也没做,直到我的系统死机。我设计了 s3s3mirror 以立即开始工作,使用 100 个并发线程(可配置),并适度使用 CPU 和内存。如果我自己这么说,那真是太快了。

我已经根据 Apache 许可在 github 上提供了它。如果您决定试一试,请告诉我您的想法以及是否有任何可以改进的地方。

这是链接:https : //github.com/cobbzilla/s3s3mirror

谢谢!

  • 乔纳森。


Dan*_*tts 5

亚马逊现在有一个受支持的工具来执行此操作,即aws cli

它可以在本地和远程之间或两个 s3 位置之间以任一方向进行镜像。

不幸的是,它对机架空间等非 S3 位置没有任何直接支持,但我认为这对于发现此问题的某些人来说将是一个有用的答案。像我一样,在我发现它之前。

特别是,

aws s3 sync s3://some/s3/path /some/local/path
Run Code Online (Sandbox Code Playgroud)


Ala*_*vey 2

查看Jungle 磁盘服务器。它适用于 Amazon S3 和 Rackspace 云文件。您可以将 S3 和 CF 安装在文件系统上的不同位置,然后在两者之间使用 rsync。