跳至正文

阿里云 OSS 命令行工具 ossutil

  • 运维

下载和安装

下载工具并重命名:

wget http://gosspublic.alicdn.com/ossutil/1.6.18/ossutil64
mv ossutil64 ossutil

修改文件执行权限:

chmod 755 ossutil

将命令设置为全局:

ln -s /www/app/ossutil /usr/local/bin/ossutil

使用交互式配置生成配置文件:

ossutil config

请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将–config-file选项设置为该路径)。
未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。

对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用”help config”命令查看。

请输入语言(CH/EN,默认为:CH,该配置项将在此次config命令成功结束后生效):CH

请输入endpoint:http://oss-cn-hangzhou-internal.aliyuncs.com

请输入accessKeyID:yourAccessKeyID

请输入accessKeySecret:yourAccessKeySecret

请输入stsToken:

endpoint:填写Bucket所在地域的域名信息。
accessKeyID:填写阿里云ARM访问控制账户的accessKeyID。
accessKeySecret:填写阿里云ARM访问控制账户的accessKeySecret。
stsToken:非必配项,若采用STS临时授权方式访问OSS需要配置该项,否则置空即可。

常用命令

上传文件

上传单个文件

ossutil cp examplefile.txt oss://examplebucket/desfolder/

上传时,若不指定上传至OSS的文件名,则默认使用原文件名;若指定文件名,则按照指定的文件名保存在OSS中。例如本示例可以改为:

ossutil cp examplefile.txt oss://examplebucket/desfolder/example.txt

上传文件夹

使用cp命令时增加-r选项,可以将目标文件夹上传到OSS。

ossutil cp -r localfolder/ oss://examplebucket/desfolder/

上传文件夹并跳过已有文件

批量上传时,若指定–update(可缩写为-u)选项,只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行上传操作。命令如下:

ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u

该选项可用于当批量上传失败重传时,跳过已经成功的文件,实现增量上传。

仅上传当前目录下的文件,忽略子目录

ossutil cp localfolder/ oss://examplebucket/desfolder/ --only-current-dir -r

上传所有文件格式为TXT的文件

ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*.txt" -r

上传当前目录下所有文件格式为TXT的文件,忽略子目录

ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*.txt" --only-current-dir -r

上传所有文件名包含abc且不是JPG和TXT格式的文件

./ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r

下载文件

下载单个文件

下载时,若未指定本地文件名,则默认使用原文件名;若指定文件名,则按照指定的文件名保存在本地。

沿用原文件名保存文件

ossutil cp oss://examplebucket/desfolder/examplefile.txt localfolder/

按指定文件名保存文件

ossutil cp oss://examplebucket/desfolder/examplefile.txt localfolder/example.txt

下载文件夹

ossutil cp -r oss://examplebucket/desfolder/ localfolder/

批量下载并跳过已有文件

批量下载时,指定–update(可缩写为-u)选项,若本地与OSS没有同名文件,或本地同名文件的最后修改时间早于OSS文件,ossutil会下载该文件;若本地已有同名文件,且文件的最后修改时间晚于OSS内文件时,ossutil会跳过该文件。命令如下:

ossutil cp -r oss://examplebucket/desfolder/ localfolder/ --update

该选项可用于当批量下载失败重传或需要下载增量文件时,跳过已经下载成功的文件。

仅下载当前目录下的文件,忽略子目录

ossutil cp oss://examplebucket/desfolder/ localfolder/ --only-current-dir -r

原文链接:https://help.aliyun.com/document_detail/50452.html

标签: