【问题标题】:Multiple lifecycles s3cmd多个生命周期 s3cmd
【发布时间】:2018-09-11 22:44:51
【问题描述】:

我希望我的存储桶中的许多文件夹都有多个生命周期。

如果我使用 Web 界面,这似乎很容易,但这应该是一个自动化过程,因此,至少在我的情况下,它必须使用 s3cmd。

使用时效果很好:

s3cmd expire ...

但是,不知何故,每次我运行它时,我的最后一个生命周期都会被覆盖。

github上有问题:

https://github.com/s3tools/s3cmd/issues/863

我的问题是:还有其他方法吗?

【问题讨论】:

标签: amazon-web-services amazon-s3 aws-cli s3cmd


【解决方案1】:

你让我注意到我和你有同样的问题。使用 s3cmd 访问过期规则的另一种方法是显示存储桶的生命周期配置。

s3cmd getlifecycle s3://bucketname

这样你就可以得到一些 xml 格式的文本:

<?xml version="1.0" ?>
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
        <Rule>
                <ID>RULEIDENTIFIER</ID>
                <Prefix>PREFIX</Prefix>
                <Status>Enabled</Status>
                <Expiration>
                        <Days>NUMBEROFDAYS</Days>
                </Expiration>
        </Rule>
        <Rule>
                <ID>RULEIDENTIFIER2</ID>
                <Prefix>PREFIX2</Prefix>
                <Status>Enabled</Status>
                <Expiration>
                        <Days>NUMBEROFDAYS2</Days>
                </Expiration>
        </Rule>
</LifecycleConfiguration>

如果您将该文本放入文件中,更改相应的字段(输入您选择的标识符,设置您想要的前缀和到期前的天数),您现在可以使用以下命令(更改路径的 FILE你把规则放在哪里):

s3cmd setlifecycle FILE s3://bucketname

这应该可行(在我的情况下,现在我在执行 getlifecycle 命令时看到了几条规则,尽管我还不知道对象是否真的过期)。

【讨论】:

    猜你喜欢
    • 2016-06-23
    • 2011-10-09
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2023-03-16
    • 2020-04-01
    相关资源
    最近更新 更多