【问题标题】:AWS versioning - How to keep only 10 newest versionsAWS 版本控制 - 如何只保留 10 个最新版本
【发布时间】:2018-04-03 10:16:34
【问题描述】:

我在 Ubu Srv 16.04 LTS 上使用 AWS CLI 每 30 分钟在 S3 存储桶中进行备份。

我在存储桶属性中启用了版本控制。

我使用这个命令来发送文件:

aws s3 cp DIR s3://BUCKET_NAME/ --recursive --region BUCKET_REGION

是否有任何 AWS CLI 命令允许我只保存 10 个最新版本?

【问题讨论】:

    标签: amazon-web-services amazon-s3 backup versioning


    【解决方案1】:

    我怀疑 S3(或就此而言 AWS CLI)是否支持这一点。
    但是您可以使用使用 S3 生命周期策略的技巧。

    你可以使用Amazon S3 – Object Expiration函数:

    S3 的新对象过期功能允许您定义规则以安排在预定义的时间段后删除您的对象。

    你提到你每 30 分钟运行一次。所以300分钟后,应该有10个版本吧?现在您可以将上述功能配置为在超过 300 分钟的对象上运行,类似这样

    cmets 中提到的@michael-sqlbot:对象过期功能以天为单位工作。因此考虑到在几分钟内处理它的 qn 情况,需要等待至少 24 小时。

    但是,如果我们考虑几天的话,这种方法应该会奏效。

    顺便说一句,关于 S3 对象过期的更多信息 -> here

    #JustRandomThoughts

    【讨论】:

    • 您假设每次都覆盖相同的文件。可能有多个文件,其中只有少数更新了
    • 是的,这个想法在我脑海中飘过,但我怀疑 --no-overwrite 选项是否已在 s3 cp 命令中实现。在 s3 cp 文档页面 (docs.aws.amazon.com/cli/latest/reference/s3/cp.html) 上找不到它。但是这里github.com/aws/aws-cli/issues/2874
    • @raevilman 对象过期的配置粒度为 1 天,并且对象可能会在其预期过期后最多保留 24 小时。这是一个批处理过程。
    猜你喜欢
    • 2020-05-06
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    相关资源
    最近更新 更多