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