8

除了使用 s3cmd 之外,还有另一种自动同步两个 Amazon S3 存储桶的方法吗?也许亚马逊有这个选项?环境是linux,每天我都想将新文件和删除的文件同步到另一个桶。我讨厌把所有鸡蛋放在一个篮子里的想法。

4

4 回答 4

12

您可以使用标准 Amazon CLI 进行同步。您只需要执行以下操作:

aws s3 sync s3://bucket1/folder1 s3://bucket2/folder2

http://aws.amazon.com/cli/

于 2013-10-30T01:10:30.457 回答
4

我正在寻找类似的东西,有几个选择:

  1. 商业应用程序,例如:s3RSync。此外,CloudBerry for S3 提供了适用于 Windows 的 Powershell 扩展,可用于编写脚本,但我知道您使用的是 *nix。
  2. AWS API +(最喜欢的语言)+ Cron。(听我说)。一个在 AWS 库中没有经验的精明的人需要很短的时间来构建一些东西来复制和比较文件(使用 s3 键的 ETag 功能)。只需提供源/目标存储桶、凭据、遍历密钥并在 AWS 中发出本机“复制”命令。我用过Java。如果你使用 Python 和 Cron,你可以做一个有用的工具。

我仍在寻找已经构建的开源或免费的东西。但是#2确实不是一项非常困难的任务。

编辑:我回到这篇文章并意识到现在Attunity CloudBeam也是许多人的商业解决方案。

于 2012-02-28T22:10:01.480 回答
4

S3 桶!= 篮子

从他们的网站

数据持久性和可靠性

Amazon S3 提供了一个高度耐用的存储基础设施,专为关键任务和主要数据存储而设计。对象冗余存储在 Amazon S3 区域中跨多个设施的多个设备上。为帮助确保持久性,Amazon S3 PUT 和 COPY 操作在返回 SUCCESS 之前将您的数据同步存储在多个设施中。存储后,Amazon S3 通过快速检测和修复任何丢失的冗余来维持对象的持久性。Amazon S3 还使用校验和定期验证存储的数据的完整性。如果检测到损坏,则使用冗余数据对其进行修复。此外,Amazon S3 计算所有网络流量的校验和,以在存储或检索数据时检测数据包的损坏。

Amazon S3 的标准存储是:

  • 以 Amazon S3 服务水平协议为后盾。
  • 旨在在给定年份内提供 99.999999999% 的持久性和 99.99% 的对象可用性。
  • 旨在维持两个设施中的数据同时丢失。

Amazon S3 通过版本控制提供进一步的保护。您可以使用版本控制来保留、检索和恢复存储在您的 Amazon S3 存储桶中的每个对象的每个版本。这使您可以轻松地从意外的用户操作和应用程序故障中恢复。默认情况下,请求将检索最近编写的版本。可以通过在请求中指定版本来检索对象的旧版本。存储费率适用于存储的每个版本。

这是非常可靠的。

于 2011-12-07T02:39:26.627 回答
2

现在可以通过 AWS 控制台在两个不同区域的存储桶之间复制对象。

AWS 博客上的官方公告解释了该功能。

于 2015-09-08T13:33:26.710 回答