Aliyun OSSUTIL实现上传下载

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介:

关于

  • 该工具旨在为用户提供一个方便的,以命令行方式管理OSS数据的途径。

  • 当前版本未提供Bucket管理功能和Multipart管理功能,相关功能会在后续版本中开发。现在如果有使用上述功能的需要,可以先使用osscmd命令行工具。

工具下载

当前版本

  • 当前版本:1.0.0.Beta

运行环境

  • linux, windows, mac

binary下载

安装使用

根据您的操作系统选择相应的binary或者压缩包下载后,运行相应的binary(如果binary为不可执行文件,请给binary增加可执行权限:chmod 755 ossutil),即:

linux系统下:

./ossutil

windows系统下有两种方法(以64位系统为例):

1) 解压压缩包,双击运行其中的bat文件,再键入:ossutil64.exe

2)解压压缩包,cmd进入压缩包中binary所在的目录,键入:ossutil64.exe

mac系统下:

./ossutilmac64


快速使用

设置ossutil的语言

在使用ossutil的命令时,可以使用-L选项设置语言,可选范围为CH/EN,即:中文或英文。大小写不敏感。默认语言为CH(中文),如果设置成CH(中文),需要确保您的系统为utf-8编码,否则可能会显示乱码。

如:

./ossutil help ls显示ls默认语言的帮助

./ossutil help ls -L ch 显示ls的中文帮助

./ossutil help ls -L en 显示ls的英文帮助

./ossutil config -L ch 运行ossutil config的交互式配置命令,其中的提示语言为中文。

./ossutil config -L en 运行ossutil config的交互式配置命令,其中的提示语言为英文。

注意:ossutil输出的错误默认都为英文,不会受上述选项影响。

获取命令列表

./ossutil或 ./ossutil help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$./ossutil
用法: ossutil [command] [args...] [options...]
请使用ossutil help command来显示command命令的帮助
Commands:
   mb              cloud_url [options]
         创建Bucket
   ls              [cloud_url] [options]
         列举Buckets或者Objects
   rm              cloud_url [options]
         删除Bucket或Objects
   stat            cloud_url [options]
         显示bucket或者object的描述信息
   set-acl         cloud_url [acl] [options]
         设置bucket或者objects的acl
   set-meta        cloud_url [meta] [options]
         设置已上传的objects的元信息
   cp              src_url dest_url [options]
         上传,下载或拷贝Objects
   restore         cloud_url [options]
         恢复冷冻状态的Objects为可读状态
   create-symlink  cloud_url target_url [options]
         创建符号链接
   read-symlink    cloud_url [options]
         读取符号链接文件的描述信息
Additional Commands:
   help            [command]
         获取命令的帮助文档
   config          [options]
         创建配置文件用以存储配置项
   hash            file_url [options]
         计算本地文件的crc64或md5
   update          [options]
         更新ossutil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$./ossutil  -L en
Usage: ossutil [command] [args...] [options...]
Please use 'ossutil help command' to show help of command
Commands:
   mb              cloud_url [options]
         Make Bucket
   ls              [cloud_url] [options]
         List Buckets or Objects
   rm              cloud_url [options]
         Remove Bucket or Objects
   stat            cloud_url [options]
         Display meta information of bucket or objects
   set-acl         cloud_url [acl] [options]
         Set acl on bucket or objects
   set-meta        cloud_url [meta] [options]
         set metadata on already uploaded objects
   cp              src_url dest_url [options]
         Upload, Download or Copy Objects
   restore         cloud_url [options]
         Restore Frozen State Object to Read Ready Status
   create-symlink  cloud_url target_url [options]
         Create symlink of object
   read-symlink    cloud_url [options]
         Display meta information of symlink object
Additional Commands:
   help            [command]
         Get help about commands
   config          [options]
         Create configuration file to store credentials
   hash            file_url [options]
         Get crc64 or md5 of local file
   update          [options]
         Update ossutil

查看某命令的帮助文档

./ossutil help cmd强烈建议在使用某命令前先使用help来查阅帮助文档。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
./ossutil  help config -L ch
SYNOPSIS
     创建配置文件用以存储配置项
SYNTAX
     ossutil config [-e endpoint] [-i id] [-k key] [-t token] [-L language] [--output-dir outdir] [-c file]
DETAIL DESCRIPTION
     该命令创建配置文件,将用户设置的配置项信息存储进该配置文件,配置项用
     以访问OSS时提供访问信息(某命令是否需要配置项,参见其是否支持
     --config-file选项,具体可见该命令的帮助)。
     配置文件路径可由用户指定,默认为/home/admin/.ossutilconfig。如果配置
     文件存在,假设其为:a,ossutil会将文件a另存为:a.bak,然后重新创建文件a
     并写入配置,此时,如果a.bak存在,其会被文件a覆盖。
     注意:
     (1)如果指定的配置文件路径非默认路径,在使用命令时请将--config-file选
     项设置为你配置时指定的配置文件路径(如果不指定--config-file选项,则运
     行命令时默认会读取/home/admin/.ossutilconfig)。
     (2)某些配置可在使用命令时通过选项进行设置,如--endpoint,--access-key-id,
     等选项(具体请见每个命令的帮助),如果使用命令时指定了这些选项,并且同
     时配置文件中也配置了这些信息,则优先级为:选项 > 配置文件。
     (3)如果使用命令时指定了--endpoint、--access-key-id、--access-key-secret
     或--sts-token选项,则ossutil不强求配置文件一定要存在。
用法:
     该命令有两种用法,交互式1)和非交互式2),推荐用法为交互式,因为交互
     式用法拥有更好的安全性。
     1) ossutil config [-c file]
         该用法提供一种交互式的方法来配置信息,ossutil交互式地询问用户如下
     信息:
         (1) config file
             配置文件路径,如果用户键入回车,ossutil会使用默认的配置文件:
         /home/admin/.ossutilconfig。
             如果用户自己指定了配置文件,在使用命令时需要将--config-file选项
         设置为用户设置的配置文件路径。哪些命令支持--config-file选项可由查看
         每个命令的帮助。
         (2) language
             当首次配置(配置文件不存在)时,ossutil会向用户询问语言设置,可
         选值为中文或者英文(CH/EN),如果键入回车,ossutil将根据用户输入的
         --language选项配置,如果此时用户也未输入--language选项,将配置成默认
         语言中文。
             如果配置文件已存在,ossutil会综合用户输入的language选项和配置文件
         中的语言信息,配置该项,而不会询问。
             ossutil在运行时会从配置文件中读取该language选项,如果该选项不存在
         或者非法,将采用默认语言:CH。
             注意:该配置项在此次config成功结束后才会生效,在执行config命令过
         程中语言显示不会受用户的选择影响。
         (3) endpoint, accessKeyID, accessKeySecret
             回车代表着跳过相应配置项的设置。注意:endpoint应该为一个二级域
         名(SLD),例如:oss.aliyuncs.com。
             以上选项一般为必选项。
         (4) stsToken
             如果用户需要使用临时token来访问oss,用户需要填入该项,否则请输入
         回车跳过该项配置。
         (5) outputDir
             该选项配置输出文件所在目录的路径。交互式模式时不提供该选项的配置,
         但配置文件中该项配置起效。
             outputDir的默认目录为:当前目录下的:ossutil_output,ossutil会在
         运行过程中将输出文件都生成到该文件夹下。输出文件目前包含:在cp命令中
         批量操作出错时,记录每个文件操作的错误信息的report文件。
             关于outputDir和report文件的更多信息请参见cp命令的帮助。
             注意:outputDir如果不存在,ossutil在产生输出文件时会自动创建该目录,
         如果outputDir存在且并非目录,将会报错。
         下述交互式Bucket-Endpoint和Bucket-Cname配置被取消,但配置文件中该两项
         配置仍然起效。
         (6) Bucket-Endpoint
             Bucket-Endpoint对每个指定的bucket单独配置endpoint,此配置会优先于
         配置文件中关于默认endpoint的配置。
             在该版本中,ossutil取消了交互式配置中,关于Bucket-Endpoint配对的配
         置,但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定
         endpoint,仍然可以在配置文件中进行配置。注意:此处的endpoint应该为一个
         二级域名(SLD),例如:oss.aliyuncs.com。
             如果配置了Bucket-Endpoint选项,当对某bucket进行操作时,ossutil会在
         该选项中寻找该bucket对应的endpoint,如果找到,该endpoint会覆盖基本配置
         中endpoint。但是运行命令时如果指定了--endpoint选项,--endpoint选项为最
         高优先级。
         (7) Bucket-Cname
             Bucket-Cname为每个指定的bucket单独配置CNAME域名(CDN加速域名),此
         配置会优先于配置文件中Bucket-Endpoint及endpoint的配置。
             在该版本中,ossutil取消了交互式配置中,关于Bucket-Cname配对的配置,
         但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定CNAME
         域名,仍然可以在配置文件中进行配置。
             如果配置了Bucket-Cname选项,当对某bucket进行操作时,ossutil会在该
         选项中寻找该bucket对应的CNAME域名,如果找到,则找到的CNAME域名会覆盖
         Bucket-Endpoint选项和基本配置中的endpoint。运行命令时如果指定了--endpoint
         选项,--endpoint选项为最高优先级。
         优先级:--endpoint > Bucket-Cname > Bucket-Endpoint > endpoint > 默认endpoint
     2) ossutil config options
         如果用户使用命令时输入了除--language和--config-file之外的任何选项,则
     该命令进入非交互式模式。所有的配置项应当使用选项指定。
配置文件格式:
     [Credentials]
         language = CH
         endpoint = oss.aliyuncs.com
         accessKeyID = your_key_id
         accessKeySecret = your_key_secret
         stsToken = your_sts_token
         outputDir = your_output_dir
     [Bucket-Endpoint]
         bucket1 = endpoint1
         bucket2 = endpoint2
         ...
     [Bucket-Cname]
         bucket1 = cname1
         bucket2 = cname2
         ...
SAMPLE
     ossutil config
     ossutil config -e oss-cn-hangzhou.aliyuncs.com -c ~/.myconfig
OPTIONS
     -c, --config-file
         ossutil工具的配置文件路径,ossutil启动时从配置文件读取配置,在config命令中,ossutil将配置写入该文件。
     -e, --endpoint
         ossutil工具的基本endpoint配置(该选项值会覆盖配置文件中的相应设置),注意其必须为一个二级域名。
     -i, --access-key-id
         访问oss使用的AccessKeyID(该选项值会覆盖配置文件中的相应设置)。
     -k, --access-key-secret
         访问oss使用的AccessKeySecret(该选项值会覆盖配置文件中的相应设置)。
     -t, --sts-token
         访问oss使用的STSToken(该选项值会覆盖配置文件中的相应设置),非必须设置项。
     --output-dir=ossutil_output
         指定输出文件所在的目录,输出文件目前包含:cp命令批量拷贝文件出错时所产生的report文件(关于report文件更多信息,请参考cp命令帮助)。默认值为:当前目录下的ossutil_output目录。
     -L CH, --language=CH
         设置ossutil工具的语言,默认值:CH,取值范围:CH/EN,若设置成"CH",请确保您的系统编码为UTF-8。

配置ossutil

在使用访问oss的命令时,需要先配置访问AK,关于AK的更多信息见:RAM和STS介绍

配置ossutil由两种方式:交互式和非交互式。

关于配置命令的更多帮助,请使用ossutil help config查看。

交互式配置ossutil

./ossutil config

默认配置文件目录,为用户根目录下的.ossutilconfig

1
2
3
$./ossutil config -L ch
该命令创建将一个配置文件,在其中存储配置信息。
请输入配置文件路径(默认为:/home/admin/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
非交互式配置ossutil
1
./ossutil config -e oss.aliyuncs.com -i your_id -k your_key

列举Buckets

./ossutil ls或 ./ossutil ls oss://

8

列举Objects

./ossutil ls oss://bucket

4

上传文件

./ossutil cp -r localfile oss://bucket

5

6

下载文件

./ossutil cp -r --update oss://bucket localfile

删除Bucket

./ossutil rm oss://bucket -rfb

7

参考:https://help.aliyun.com/document_detail/50452.html?spm=5176.product31815.3.2.1MiHLr

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1865558如需转载请自行联系原作者


qianghong000

相关文章
|
5月前
|
存储 JavaScript 前端开发
oss使用SDK上传文件
oss使用SDK上传文件
1536 2
|
存储 弹性计算 安全
使用OSS上传下载文件
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可以提供多种用途,最简单的使用方式是做文件存储,用来上传下载文件啊
3506 0
使用OSS上传下载文件
|
存储 JavaScript Linux
OSS传输工具OSSutil使用介绍
本篇文章我们重点讲述一下传输工具Ossutil的使用: 若文件总量小于30T则建议使用ossutil,若大于30T建议使用
30260 1
|
5月前
|
存储 Serverless 对象存储
通过FC运行脚本下载文件到OSS
本文介绍了在阿里云中使用函数计算服务(Function Compute)从URL下载文件并存储到OSS(Object Storage Service)的步骤。首先,需开通函数计算服务并创建RAM角色,授权函数计算访问OSS权限。费用详情参考官方计费概述。操作步骤包括:登录OSS控制台,使用公共模板创建执行,配置参数并运行Python脚本,脚本负责从URL下载文件并上传至指定OSS Bucket。执行成功后,文件将出现在目标OSS Bucket中。
通过FC运行脚本下载文件到OSS
|
5月前
|
开发工具 对象存储
oss文件删除,SecurityToken没有呀?
要删除文件,可以使用阿里云OSS SDK,具体步骤包括获取SecurityToken,然后用它来初始化OSS客户端,并调用删除对象的方法。
72 0
|
5月前
|
存储 API 开发工具
oss数据解密与下载
阿里云OSS提供服务器端加密(SSE-OSS/SSE-KMS)功能,保证静态数据安全。下载加密对象时,OSS自动解密并返回原始内容。确保下载请求者有相应权限,尤其是使用SSE-KMS时。可通过SDK、图形化工具或编程框架集成下载,发起请求时,OSS自动处理解密,客户端接收解密后的数据。权限、下载方式选择及请求发起是关键步骤。
168 1
|
12月前
|
存储 安全 API
PicGo配置阿里云oss
PicGo配置阿里云oss
263 0
|
对象存储
OSS WordPress插件(Aliyun OSS For WordPress)
WordPress是一个注重美学、易用性和网络标准的个人信息发布平台,广泛应用于网络信息发布平台的搭建,特别是个性化的博客。本文介绍了OSS的WordPress插件Aliyun OSS For WordPress。
15280 1
|
Linux 对象存储 iOS开发
ossutil迁移日志文件至阿里云OSS
ossutil支持在Windows、Linux、macOS等系统中运行,您可以根据实际环境下载和安装合适的版本。
633 0
|
存储 Web App开发 监控
OSS-ossutil
案例:访问 403 deny 分析: 类这种有明显报错的很好判断,明显是 endpoint 指定错误。 bucket 和 endpoint 不匹配 bucket UID 和实际的 Accesskey 对应的 UID 不一致
OSS-ossutil