简单爱0107
2016-03-12
6519浏览量
下载并配置好osscmd
config --host=[oss.aliyuncs.com] --id=[accessid] --key=[accesskey]
find $dirname | sed 's/\.\///g' | xargs -I {} osscmd put {} oss://$bucket-name/{}
如果是上传当前目录将$dirname 替换成"."
$dirname 要上传文件名称, 当然要在这个目录上层运行此命令, 可以利用grep -v 过滤掉一些无需上传的文件, 当然osscmd也有上传文件夹功能
cat filelist | xargs -I {} osscmd put {} oss://$bucket-name/$dirname/{}
filelist 文件名列表
osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | sort | uniq -c
样例输出
1 0.00B
3 1011.50KB
1 115.23KB
1 1167.00B
1 11.96KB
1 12.08KB
3 12.84MB
1 1355.46KB
1 17.28MB
1 18.03MB
2 209.49KB
osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | rev | cut -c 1-2 | rev | sort | uniq -c | sed 's/0B/B/g'
样例输出
8 B
30 KB
10 MB
osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | sed 's/MB/*1024^2/g' | sed 's/GB/*1024^3/g' | sed 's/KB/*1024/g' | tr -d 'B' | tr '\n' '+' | awk '{print "("$1"0)"}' | bc
算出来的结果是字节数,转换成其他单位需自行转换,如果结果有小数请不要奇怪
osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $4}' | xargs -I {} osscmd sign {} 2> /dev/null | grep http
osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $4}' | xargs -I {} osscmd rm {}
批量删除文件下下的所有文件,或者制定前缀的文件, 更多功能请见OSS的lifecycle功能
当然删除文件列表也是OK的
cat filelist | xargs -I {} osscmd rm {}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。