oss使用
最近经常和oss打交道,经常要去翻阿里的文档,索性自己总结一个吧,其实就是把阿里的文档复制下,哈哈哈
1、安装
wget http://gosspublic.alicdn.com/ossutil/1.6.18/ossutil64
chmod 755 ossutil64
1.1 使用交互式配置生成配置文件
./ossutil64 config
请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。
对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。
请输入语言(CH/EN,默认为:CH,该配置项将在此次config命令成功结束后生效):CH
请输入endpoint:oss-cn-shanghai-internal.aliyuncs.com
请输入accessKeyID:yourAccessKeyID
请输入accessKeySecret:yourAccessKeySecret
2、上传
2.1 上传单个文件
文件名:examplefile.txt;bucket名称:examplebucket;bucket中的目录:desfolder
./ossutil cp examplefile.txt oss://examplebucket/desfolder/
上传时,若不指定上传至OSS的文件名,则默认使用原文件名;若指定文件名,则按照指定的文件名保存在OSS中。例如本示例可以改为:
./ossutil cp examplefile.txt oss://examplebucket/desfolder/example.txt
2.2 上传文件夹
使用 cp命令时增加 -r选项,可以将目标文件夹上传到OSS
./ossutil cp -r localfolder/ oss://examplebucket/desfolder/
说明 若上传目标对象为符号链接(软链接),且指向本地文件夹,则使用 cp命令上传时,应当给软链接加上正斜线(/)
./ossutil cp -r symbolic_link/ oss://examplebucket/desfolder/
上传文件夹并跳过已有文件
批量上传时,若指定--update(可缩写为-u)选项,只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行上传操作。命令如下:
./ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u
仅上传当前目录下的文件,忽略子目录
./ossutil cp localfolder/ oss://examplebucket/desfolder/ --only-current-dir -r
2.3 上传时限速
上传文件时,指定 --maxupspeed选项,可设置上传的最高速度,单位为KB/s,缺省为0(不限速)。 命令如下:
上传文件并设置限速为1 MByte/s
./ossutil cp examplefile.txt oss://examplebucket/desfolder/ --maxupspeed 1024
上传文件夹并设置限速为1 MByte/s
./ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --maxupspeed 1024
3、下载
下载单个文件,下载时,若未指定本地文件名,则默认使用原文件名;若指定文件名,则按照指定的文件名保存在本地,沿用原文件名保存文件
./ossutil cp oss://examplebucket/desfolder/examplefile.txt localfolder/
按指定文件名保存文件
./ossutil cp oss://examplebucket/desfolder/examplefile.txt localfolder/example.txt
3.1 下载文件夹
./ossutil cp -r oss://examplebucket/desfolder/ localfolder/
批量下载并跳过已有文件,批量下载时,指定--update(可缩写为-u)选项,若本地与OSS没有同名文件,或本地同名文件的最后修改时间早于OSS文件,ossutil会下载该文件;若本地已有同名文件,且文件的最后修改时间晚于OSS内文件时,ossutil会跳过该文件。命令如下:
./ossutil cp -r oss://examplebucket/desfolder/ localfolder/ --update
该选项可用于当批量下载失败重传或需要下载增量文件时,跳过已经下载成功的文件。
3.2 仅下载当前目录下的文件,忽略子目录
./ossutil cp oss://examplebucket/desfolder/ localfolder/ --only-current-dir -r
3.3 批量下载符合指定条件的文件
下载所有文件格式不为JPG的文件
./ossutil cp oss://examplebucket/desfolder/ localfolder/ --exclude "*.jpg" -r
下载所有文件名包含abc且不是JPG和TXT格式的文件
./ossutil cp oss://examplebucket/desfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r