需求:多个帐号须要清空bucket。阿里不支持一键删除,非常麻烦。bash
使用的工具是osscmd,先下载osscmd后解压,而后在同级目录建立两个文件,一个写AccessKeySecret,另外一个写AccessKeyId,脚本以下。工具
#!/bin/bash #须要两个文件,一个写AccessKeySecret,另外一个写AccessKeyId s=`cat AccessKeySecret |wc -l` for((z=1;z<=$s;z++)); do e=$z AccessKeySecret=`cat AccessKeySecret |sed -n "$e"p` AccessKeyId=`cat AccessKeyId |sed -n "$e"p` ./osscmd getallbucket --id=$AccessKeyId --key=$AccessKeySecret |grep -v CreateTime |grep -v Bucket |grep -v "^$" | awk '{print $4}' > a ./osscmd getallbucket --id=$AccessKeyId --key=$AccessKeySecret |grep -v CreateTime |grep -v Bucket |grep -v "^$" | awk '{print $3}' > b h=`cat a |wc -l` for((i=1;i<=$h;i++)); do n=$i #cat a |sed -n "$n"p > b project=`cat a |sed -n "$n"p` endpoint=`cat b |sed -n "$n"p` echo $project echo $endpoint #./osscmd deletewholebucket oss://$n --id=$AccessKeyId --key=$AccessKeySecret echo Y | ./osscmd deleteallobject oss://$project --host=$endpoint".aliyuncs.com" --force=on --id=$AccessKeyId --key=$AccessKeySecret echo Y | ./osscmd deletewholebucket oss://$project --host=$endpoint".aliyuncs.com" --force=on --id=$AccessKeyId --key=$AccessKeySecret done done