多个生命周期 s3cmd
Multiple lifecycles s3cmd
我想为存储桶中的许多文件夹设置多个生命周期。
如果我使用 Web 界面,这似乎很容易,但这应该是一个自动化过程,因此,至少在我的情况下,必须 使用 s3cmd。
当我使用时它工作正常:
s3cmd expire ...
但是,不知何故,每次我 运行 我的最后一个生命周期都会被覆盖。
github 上有问题:
https://github.com/s3tools/s3cmd/issues/863
我的问题是:还有其他方法吗?
你让我注意到我遇到了和你完全一样的问题。使用 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 命令时看到了几个规则,尽管我还不知道对象是否真的过期)。
我想为存储桶中的许多文件夹设置多个生命周期。
如果我使用 Web 界面,这似乎很容易,但这应该是一个自动化过程,因此,至少在我的情况下,必须 使用 s3cmd。
当我使用时它工作正常:
s3cmd expire ...
但是,不知何故,每次我 运行 我的最后一个生命周期都会被覆盖。
github 上有问题:
https://github.com/s3tools/s3cmd/issues/863
我的问题是:还有其他方法吗?
你让我注意到我遇到了和你完全一样的问题。使用 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 命令时看到了几个规则,尽管我还不知道对象是否真的过期)。