设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 4296|回复: 0

Linux下SSH用ossutil命令上传文件到阿里云oss详解,使用Shell脚本实现数据的自动上传下载Bucket对象存储

[复制链接]
 成长值: 21

签到天数: 4468 天

[LV.Master]伴坛终老

发表于 2018/8/27 02:39 | 显示全部楼层 |阅读模式 |Google Chrome 68.0.3440.106|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
安装ossutil
  1. yum -y install wget
  2. wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/50452/cn_zh/1524643963683/ossutil64
  3. mv ossutil64 /home
  4. cd /home
  5. chmod +x ossutil64
  6. mv ossutil64 ossutil
复制代码


测试运行
  1. ./ossutil help ls -L ch
复制代码


个人中心找到AK和SK(AccessKey/SecretKey)
https://usercenter.console.aliyun.com/#/manage/ak
可以在访问控制 RAM中自由创建子账户AK单独只授权OSS
1.png

可用地域,根据自己服务器地域创建,下方需要加-e参数
https://help.aliyun.com/document_detail/31837.html

设置ak和sk信息
  1. ./ossutil config -e oss.aliyuncs.com -i ak -k sk
复制代码


测试是否成功
  1. cat /root/.ossutilconfig
复制代码


输出:
[Credentials]
language=ch
endpoint=oss.aliyuncs.com
accessKeyID=LTAInEOdItVobTOp
accessKeySecret=3arDBTWP1qGqInFuRQmv9B7wyxlSU7

到此安装完毕。

阿里云oss所有地区免费5G空间和5G外网流量。
100G空间价格费用11元一年,1TB空间价格费用33元一年




上传文件
ossutil提供了上传/下载/拷贝文件、设置object的acl、设置object的meta、查看object的meta信息等功能。
使用这些命令前请使用config命令配置访问AK。

上传/下载/拷贝文件
强烈建议在使用cp命令前使用ossutil help cp先查看帮助。
可以使用cp命令进行上传/下载/拷贝文件,使用-r选项来拷贝文件夹,对大文件默认使用分片上传并可进行断点续传(开启分片上传的大文件阈值可用--bigfile-threshold选项来设置)。
使用-f选项来默认强制上传,当目标端存在同名文件时,不询问,直接覆盖。
当批量上传/下载/拷贝文件时,如果某个文件出错,ossutil默认会将错误信息记录在report文件,并跳过该文件,继续其他文件的操作(当错误为Bucket不存在、accessKeyID/accessKeySecret错误造成的权限验证非法等错误时,不再继续其他文件拷贝)。更多信息请见ossutil help cp。
ossutil支持特定场景下的增量上传策略:--update和--snapshot-path选项,请参见ossutil help cp。
ossutil从1.0.0.Beta1版本开始,上传文件默认打开crc64。

查看Bucket空间列表
  1. ./ossutil ls
复制代码

输出:
CreationTime                                 Region    StorageClass    BucketName
2016-08-16 11:50:32 +0800 CST       oss-cn-hangzhou        Standard    oss://test
上传单个文件:
  1. ./ossutil cp lxzPV.mp4 oss://test
复制代码

输出:
Succeed: Total num: 1, size: 36,622,683. OK num: 1(upload 1 files).               
6.882928(s) elapsed

上传文件夹:
  1. ./ossutil cp -r video oss://test
复制代码

输出:
Succeed: Total num: 35, size: 464,606. OK num: 35(upload 34 files, 1 directories).
0.896320(s) elapsed

上传/下载/拷贝文件的性能调优
在cp命令中,通过-jobs项和-parallel项控制并发数。-jobs项控制多个文件上传/下载/拷贝时,文件间启动的并发数。-parallel制分片上传/下载/拷贝一个大文件时,每一个大文件启动的并发数。
默认情况下,ossutil会根据文件大小来计算parallel个数(该选项对于小文件不起作用,进行分片上传/下载/拷贝的大文件文件阈值可由—bigfile-threshold选项来控制),当进行批量大文件的上传/下载/拷贝时,实际的并发数为jobs个数乘以parallel个数。该两个选项可由用户调整,当ossutil自行设置的默认并发达不到用户的性能需求时,用户可以自行调整该两个选项来升降性能。

警告
一般ECS虚拟机或者服务器,在网络、内存、CPU等资源不是特别大的情况下,建议将并发数调整到100以下。如果网络、内存、CPU等资源没有占满,可以适当增加并发数。
如果并发数调得太大,由于线程间资源切换及抢夺等,ossutil上传/下载/拷贝性能可能会下降。并发数过大可能会产生EOF错误。所以请根据实际的机器情况调整-jobs和-parallel选项的数值。如果要进行压测,可以一开始将这两项数值调低,慢慢调大寻找最优值。




列举阿里云oss空间里面的所有文件
显示所有文件和上传产生的碎片管理(Multipart)分块文件UploadID
  1. ./ossutil ls oss://test -a
复制代码

结果
LastModifiedTime                   Size(B)  StorageClass   ETAG                                  ObjectName
2018-08-27 03:21:26 +0800 CST     36622683      Standard   16111CADE9D171195743893742255398      oss://test/111.mp4
2018-08-27 03:21:27 +0800 CST     36622683      Standard   16111CADE9D171195743893742255398      oss://test/lxzPV.mp4
Object Number is: 2
UploadID Number is: 0
0.935311(s) elapsed

查看文件描述信息(meta)
  1. ./ossutil stat oss://test/lxzPV.mp4
复制代码

结果
ACL                         : default
Accept-Ranges               : bytes
Content-Length              : 36622683
Content-Md5                 : FhEcrenRcRlXQ4k3QiVTmA==
Content-Type                : video/mp4
Etag                        : 16111CADE9D171195743893742255398
Last-Modified               : 2018-08-27 03:21:27 +0800 CST
Owner                       : 1293873287869883
X-Oss-Hash-Crc64ecma        : 3385307402401995135
X-Oss-Object-Type           : Normal
X-Oss-Storage-Class         : Standard
0.909793(s) elapsed




删除文件
示例
  1. ./ossutil rm oss://test[/prefix]
复制代码

参数
参数名        描述
m    删除以指定prefix开头的所有object下的Multipart Upload任务。
r     删除以指定prefix开头的所有object,可以进行objects文件的批量删除(prefix为空代表bucket空间下的所有objects文件)。
f     删除前不会进行询问提示。

删除空间test里面的视频lxzPV.mp4
  1. ./ossutil rm oss://test/lxzPV.mp4
复制代码

输出:
Succeed: Total 1 objects. Removed 1 objects.      
1.290539(s) elapsed


删除分块文件UploadID
删除test空间下的所有以obj开头命名的UploadID:
  1. ./ossutil rm -rfm oss://test/obj
复制代码

输出:
Succeed: Total 4 uploadIds. Removed 4 uploadIds.
1.922915(s) elapsed


删除空间test中的所有文件:
  1. ./ossutil rm -rf oss://test
复制代码



帖子原帖永久链接:http://bbs.itzmx.com/thread-87559-1-1.html



[发帖际遇]: 小樱 发帖时在路边捡到 5 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/3/29 20:57 , Processed in 0.207438 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表