下载和安装
下载工具并重命名:
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