我的客户有60+存储桶,我们每月支付数百美元来存储这些数据,我们不知道如何轻松区分哪些是有用的,哪些是遗留的。
单击每个存储桶并查找占用空间的内容是单调乏味的。
有没有一种方法可以首先列出所有存储桶中的所有文件,并找到占用空间最大的文件,这样我们就可以清楚哪些文件是旧的,哪些文件比较大?
发布于 2021-10-12 13:14:23
脚本草稿
# list buckets for current account
aws s3api list-buckets > s3-list-buckets
# store clean list of buckets in env var
s3_buckets=$(grep \"Name s3-list-buckets | cut -c 22- | rev | cut -c 3- | rev)
# list all objects in all buckets
for bucket in $s3_buckets
do
echo "begin $bucket"
[ -e all_files_bucket_$bucket ] && continue
aws s3api list-object-versions --bucket $bucket > all_files_bucket_$bucket
echo "completed download list for $bucket"
done
# display sum of all files per bucket, sorted by biggest bucket last
for bucket in $s3_buckets; do echo "$(grep "Size.:." all_files_bucket_$bucket | awk -F : '{print $2}' | awk -F , {'print $1'} | paste -sd+ | bc) bytes in $bucket" ; done | sort -nhttps://stackoverflow.com/questions/69540515
复制相似问题