【问题标题】:AWS s3 sync to upload if file does not exist in target如果目标中不存在文件,AWS s3 同步上传
【发布时间】:2019-11-07 14:04:26
【问题描述】:

我已将大约 1,000,000 个文件从本地目录上传到 s3 存储桶/子文件夹,其中一些已失败。

我想使用“同步”选项来捕捉那些第一次没有成功的人。 s3 修改日期是我的文件上传的日期/时间(与我的源文件日期/时间不同)。

据我了解,如果文件不存在、文件日期已更改或大小不同,同步会将文件上传到目标。

我可以修改命令行以不使用文件日期作为同步的考虑因素吗?如果文件不存在,我只想复制它。

aws s3 同步 \localserver\localshare\folder s3://mybucket/Folder1

【问题讨论】:

    标签: amazon-web-services amazon-s3 command-line


    【解决方案1】:

    aws s3 sync 会比较“最后修改时间”。

    对于S3中的对象,只有一个时间戳LastModified,应该是你上传文件的时候。

    对于您的本地文件(假设是 posix linux 文件系统)。它应该有 3 个时间戳:last-access、last-modified、last-status-change。只有最后修改时间将用于比较。

    现在支持您上传了 1M 文件,其中一些文件失败了。对于所有已成功上传的文件,它们应该具有相同的最后修改时间,然后另一个同步不会再次上传它们(同步将验证这些文件是否相同,并且对于 1M 对象的验证将相当长。)

    与此同时,您可以使用aws s3 sync --size-only 参数。符合你所描述的。但一定要检查它是否真的是你需要的东西。我的意思是,在很多情况下,许多文件即使在被修改(有意或无意地)之后也可能保持相同大小,--size-only 会忽略这些相同大小的文件。

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      相关资源
      最近更新 更多