关于
该工具旨在为用户提供一个方便的,以命令行方式管理OSS数据的途径。
当前版本未提供Bucket管理功能和Multipart管理功能,相关功能会在后续版本中开发。现在如果有使用上述功能的需要,可以先使用osscmd命令行工具。
工具下载
当前版本
当前版本:1.0.0.Beta
运行环境
linux, windows, mac
binary下载
[Linux x86 32bit] ossutil32
[Linux x86 64bit] ossutil64
[Windows x86 32bit] ossutil32.zip
[Windows x86 64bit] ossutil64.zip
[mac x86 64bit] ossutilmac64
安装使用
根据您的操作系统选择相应的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
$./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
$./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来查阅帮助文档。
./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
$./ossutil config -L ch
该命令创建将一个配置文件,在其中存储配置信息。
请输入配置文件路径(默认为:/home/admin/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
非交互式配置ossutil
./ossutil config -e oss.aliyuncs.com -i your_id -k your_key
列举Buckets
./ossutil ls
或 ./ossutil ls oss://
列举Objects
./ossutil ls oss://bucket
上传文件
./ossutil cp -r localfile oss://bucket
下载文件
./ossutil cp -r --update oss://bucket localfile
删除Bucket
./ossutil rm oss://bucket -rfb
参考:https://help.aliyun.com/document_detail/50452.html?spm=5176.product31815.3.2.1MiHLr
转载于:https://blog.51cto.com/qiangsh/1865558