ossutil工具旨在為用戶提供一個方便的,以命令列方式管理OSS數據的途徑。目前的版本未提供完整的Bucket管理功能和Multipart管理功能,相關功能會在後續版本中開發。現在如果有使用上述功能的需要,可以先使用osscmd命令列工具。
工具下載
- 目前的版本
目前的版本:1.4.1
- 運行環境
- Windows/Linux/Mac
- 支援架構
- x86 (32bit, 64bit)
- 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
$./ossutil config -L ch 該命令建立將一個設定檔,在其中儲存配置資訊。 請輸入設定檔路徑(預設為:/home/admin/.ossutilconfig,回車將使用預設路徑。如果使用者佈建為其它路徑,在使用命令時需要將--config-file選項設定為該路徑):
- 非互動式配置ossutil
./ossutil config -e oss.aliyuncs.com -i your_id -k your_key
- 互動式配置ossutil