Linux 使用AWSCLI在多个S3存储桶上启用版本控制

Linux 使用AWSCLI在多个S3存储桶上启用版本控制,linux,amazon-web-services,amazon-s3,aws-cli,Linux,Amazon Web Services,Amazon S3,Aws Cli,我试图通过awscli启用版本控制;理想情况下,我会使用以下方法: aws s3 put-bucket-versioning --bucket <bucketname> --versioning-configuration status=Enabled aws s3放置存储桶版本控制--存储桶--版本控制配置状态=已启用 然而,我们有数百个桶。是否有方法修改此命令以在所有现有存储桶上启用它? 提前感谢。您可以尝试以下内容: aws s3 ls | cut -d' ' -f3 |

我试图通过awscli启用版本控制;理想情况下,我会使用以下方法:

aws s3 put-bucket-versioning --bucket <bucketname> --versioning-configuration status=Enabled
aws s3放置存储桶版本控制--存储桶--版本控制配置状态=已启用
然而,我们有数百个桶。是否有方法修改此命令以在所有现有存储桶上启用它?
提前感谢。

您可以尝试以下内容:

aws s3 ls | cut -d' ' -f3 | xargs -L 1 aws s3 put-bucket-versioning --versioning-configuration status=Enabled --bucket
这篇文章的第一部分简单地列出了所有S3存储桶,然后将这些存储桶放入
cut
中,这将删除日期和时间列表,只留下存储桶名称。然后,该存储桶名称列表通过管道传输到
xargs-L 1
,以针对每个存储桶名称执行后续的
aws
命令,一次一个

要添加附加筛选,例如仅列出以
prod
dev
结尾的存储桶,请在
xargs
之前添加附加管道命令:

aws s3 ls | cut -d' ' -f3 | grep -E "(prod|dev)$" | xargs ...

您可以尝试以下方法:

aws s3 ls | cut -d' ' -f3 | xargs -L 1 aws s3 put-bucket-versioning --versioning-configuration status=Enabled --bucket
这篇文章的第一部分简单地列出了所有S3存储桶,然后将这些存储桶放入
cut
中,这将删除日期和时间列表,只留下存储桶名称。然后,该存储桶名称列表通过管道传输到
xargs-L 1
,以针对每个存储桶名称执行后续的
aws
命令,一次一个

要添加附加筛选,例如仅列出以
prod
dev
结尾的存储桶,请在
xargs
之前添加附加管道命令:

aws s3 ls | cut -d' ' -f3 | grep -E "(prod|dev)$" | xargs ...

对于快速单行程序,您可以尝试:

for bucket in $(aws s3api list-buckets --query 'Buckets[?contains(Name, `prod`) == `true`]' --output text); do aws s3 put-bucket-versioning --bucket $bucket --versioning-configuration status=Enabled ; done

这将使用查询过滤器来选择所需的存储桶。

对于快速单行程序,您可以尝试:

for bucket in $(aws s3api list-buckets --query 'Buckets[?contains(Name, `prod`) == `true`]' --output text); do aws s3 put-bucket-versioning --bucket $bucket --versioning-configuration status=Enabled ; done

这将使用一个查询过滤器来选择您需要的存储桶。

谢谢!如果我只想用那些以“prod”或“dev”结尾的添加了额外过滤示例的示例来实现它,该怎么办。应该熟悉Unix中的管道以及如何使用(至少)以下各项:sort、grep、awk、sed、tr、head、tail、wc。你会找到各种各样的方法来解决问题。谢谢!如果我只想用那些以“prod”或“dev”结尾的添加了额外过滤示例的示例来实现它,该怎么办。应该熟悉Unix中的管道以及如何使用(至少)以下各项:sort、grep、awk、sed、tr、head、tail、wc。你会找到各种各样的方法用它们来解决问题。