我希望有多个生命周期的许多文件夹在我的桶。
如果我使用web接口,这看起来很容易,但是这应该是一个自动化的过程,所以,至少在我的例子中,必须使用s3cmd。
当我使用:
s3cmd expire ...
但是,不知怎么的,每次我运行这个生命周期,我的最后一个生命周期就会被浪费掉。
github有个问题:
https://github.com/s3tools/s3cmd/issues/863
我的问题是:还有别的办法吗?
发布于 2018-04-02 18:43:50
你让我注意到我和你有同样的问题。使用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>如果将文本放入文件中,更改适当的字段(设置所选的标识符,设置所需前缀和到期前的天数),则现在可以使用以下命令(更改放置规则的路径的文件):
s3cmd setlifecycle FILE s3://bucketname这应该有效(在我的例子中,现在我在执行getlifecycle命令时看到了几条规则,尽管我还不知道这些对象是否真的过期了)。
https://stackoverflow.com/questions/49615977
复制相似问题