如果存储桶中已存在确切的文件,请勿上传到 aws s3

glo*_*tho 5 ruby upload rubygems amazon-s3 last-modified

我想定期将图像从本地目录推送到 s3,但我不想覆盖之前推送且此后未更改的文件。以下是我考虑过的选项:

  1. 比较内容长度。缺点:文件的新版本可能具有相同的内容长度,但有所不同。

  2. 将本地修改信息存储在 s3 元数据中,以便在推送时进行比较。缺点:这需要 POST 和 PUT,使上传的数据加倍,增加了推送任务的开销,并且在不同机器上运行时可能会不一致。

一定会有更好的办法。我缺少什么?

PS 我在 rake 任务中使用 aws-s3 gem。

小智 -3

s3cmd 是一个很好的工具,带有 --sync 选项。http://s3tools.org/s3cmd