ossutil工具旨在為用戶提供一個方便的,以命令列方式管理OSS數據的途徑。目前的版本未提供完整的Bucket管理功能和Multipart管理功能,相關功能會在後續版本中開發。現在如果有使用上述功能的需要,可以先使用osscmd命令列工具。

工具下載

  • 目前的版本

    目前的版本:1.4.1

  • 運行環境
    • Windows/Linux/Mac
    • 支援架構
      • x86 (32bit, 64bit)
  • binary下載
  • 安裝使用

    根據您的作業系統選擇相應的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