天天看點

Aliyun OSSUTIL實作上傳下載下傳

該工具旨在為使用者提供一個友善的,以指令行方式管理OSS資料的途徑。

目前版本:1.0.0.Beta

linux, windows, mac

根據您的作業系統選擇相應的binary或者壓縮包下載下傳後,運作相應的binary(如果binary為不可執行檔案,請給binary增加可執行權限:chmod 755 ossutil),即:

linux系統下:

<code>./ossutil</code>

windows系統下有兩種方法(以64位系統為例):

1) 解壓壓縮包,輕按兩下運作其中的bat檔案,再鍵入:<code>ossutil64.exe</code>

2)解壓壓縮包,cmd進入壓縮包中binary所在的目錄,鍵入:<code>ossutil64.exe</code>

mac系統下:

<code>./ossutilmac64</code>

<code></code>

在使用ossutil的指令時,可以使用-L選項設定語言,可選範圍為CH/EN,即:中文或英文。大小寫不敏感。預設語言為CH(中文),如果設定成CH(中文),需要確定您的系統為utf-8編碼,否則可能會顯示亂碼。

如:

<code>./ossutil help ls</code>顯示ls預設語言的幫助

<code>./ossutil help ls -L ch</code> 顯示ls的中文幫助

<code>./ossutil help ls -L en</code> 顯示ls的英文幫助

<code>./ossutil config -L ch</code> 運作ossutil config的互動式配置指令,其中的提示語言為中文。

<code>./ossutil config -L en</code> 運作ossutil config的互動式配置指令,其中的提示語言為英文。

注意:ossutil輸出的錯誤預設都為英文,不會受上述選項影響。

<code>./ossutil</code>或 <code>./ossutil help</code>

<code>$./ossutil</code>

<code>用法: ossutil [command] [args...] [options...]</code>

<code>請使用ossutil help command來顯示command指令的幫助</code>

<code>Commands:</code>

<code>  </code><code>mb              cloud_url [options]</code>

<code>        </code><code>建立Bucket</code>

<code>  </code><code>ls              [cloud_url] [options]</code>

<code>        </code><code>列舉Buckets或者Objects</code>

<code>  </code><code>rm              cloud_url [options]</code>

<code>        </code><code>删除Bucket或Objects</code>

<code>  </code><code>stat            cloud_url [options]</code>

<code>        </code><code>顯示bucket或者object的描述資訊</code>

<code>  </code><code>set-acl         cloud_url [acl] [options]</code>

<code>        </code><code>設定bucket或者objects的acl</code>

<code>  </code><code>set-meta        cloud_url [meta] [options]</code>

<code>        </code><code>設定已上傳的objects的元資訊</code>

<code>  </code><code>cp              src_url dest_url [options]</code>

<code>        </code><code>上傳,下載下傳或拷貝Objects</code>

<code>  </code><code>restore         cloud_url [options]</code>

<code>        </code><code>恢複冷凍狀态的Objects為可讀狀态</code>

<code>  </code><code>create-symlink  cloud_url target_url [options]</code>

<code>        </code><code>建立符号連結</code>

<code>  </code><code>read-symlink    cloud_url [options]</code>

<code>        </code><code>讀取符号連結檔案的描述資訊</code>

<code>Additional Commands:</code>

<code>  </code><code>help            [command]</code>

<code>        </code><code>擷取指令的幫助文檔</code>

<code>  </code><code>config          [options]</code>

<code>        </code><code>建立配置檔案用以存儲配置項</code>

<code>  </code><code>hash            file_url [options]</code>

<code>        </code><code>計算本地檔案的crc64或md5</code>

<code>  </code><code>update          [options]</code>

<code>        </code><code>更新ossutil</code>

<code>$./ossutil  -L en</code>

<code>Usage: ossutil [command] [args...] [options...]</code>

<code>Please use 'ossutil help command' to show help of command</code>

<code>        </code><code>Make Bucket</code>

<code>        </code><code>List Buckets or Objects</code>

<code>        </code><code>Remove Bucket or Objects</code>

<code>        </code><code>Display meta information of bucket or objects</code>

<code>        </code><code>Set acl on bucket or objects</code>

<code>        </code><code>set metadata on already uploaded objects</code>

<code>        </code><code>Upload, Download or Copy Objects</code>

<code>        </code><code>Restore Frozen State Object to Read Ready Status</code>

<code>        </code><code>Create symlink of object</code>

<code>        </code><code>Display meta information of symlink object</code>

<code>        </code><code>Get help about commands</code>

<code>        </code><code>Create configuration file to store credentials</code>

<code>        </code><code>Get crc64 or md5 of local file</code>

<code>        </code><code>Update ossutil</code>

<code>./ossutil help cmd</code>強烈建議在使用某指令前先使用help來查閱幫助文檔。

<code>./ossutil  help config -L ch</code>

<code>SYNOPSIS</code>

<code>    </code><code>建立配置檔案用以存儲配置項</code>

<code>SYNTAX</code>

<code>    </code><code>ossutil config [-e endpoint] [-i id] [-k key] [-t token] [-L language] [--output-dir outdir] [-c file]</code>

<code>DETAIL DESCRIPTION</code>

<code>    </code><code>該指令建立配置檔案,将使用者設定的配置項資訊存儲進該配置檔案,配置項用</code>

<code>    </code><code>以通路OSS時提供通路資訊(某指令是否需要配置項,參見其是否支援</code>

<code>    </code><code>--config-file選項,具體可見該指令的幫助)。</code>

<code>    </code><code>配置檔案路徑可由使用者指定,預設為/home/admin/.ossutilconfig。如果配置</code>

<code>    </code><code>檔案存在,假設其為:a,ossutil會将檔案a另存為:a.bak,然後重新建立檔案a</code>

<code>    </code><code>并寫入配置,此時,如果a.bak存在,其會被檔案a覆寫。</code>

<code>    </code><code>注意:</code>

<code>    </code><code>(1)如果指定的配置檔案路徑非預設路徑,在使用指令時請将--config-file選</code>

<code>    </code><code>項設定為你配置時指定的配置檔案路徑(如果不指定--config-file選項,則運</code>

<code>    </code><code>行指令時預設會讀取/home/admin/.ossutilconfig)。</code>

<code>    </code><code>(2)某些配置可在使用指令時通過選項進行設定,如--endpoint,--access-key-id,</code>

<code>    </code><code>等選項(具體請見每個指令的幫助),如果使用指令時指定了這些選項,并且同</code>

<code>    </code><code>時配置檔案中也配置了這些資訊,則優先級為:選項 &gt; 配置檔案。</code>

<code>    </code><code>(3)如果使用指令時指定了--endpoint、--access-key-id、--access-key-secret</code>

<code>    </code><code>或--sts-token選項,則ossutil不強求配置檔案一定要存在。</code>

<code>用法:</code>

<code>    </code><code>該指令有兩種用法,互動式1)和非互動式2),推薦用法為互動式,因為互動</code>

<code>    </code><code>式用法擁有更好的安全性。</code>

<code>    </code><code>1) ossutil config [-c file]</code>

<code>        </code><code>該用法提供一種互動式的方法來配置資訊,ossutil互動式地詢問使用者如下</code>

<code>    </code><code>資訊:</code>

<code>        </code><code>(1) config file</code>

<code>            </code><code>配置檔案路徑,如果使用者鍵入回車,ossutil會使用預設的配置檔案:</code>

<code>        </code><code>/home/admin/.ossutilconfig。</code>

<code>            </code><code>如果使用者自己指定了配置檔案,在使用指令時需要将--config-file選項</code>

<code>        </code><code>設定為使用者設定的配置檔案路徑。哪些指令支援--config-file選項可由檢視</code>

<code>        </code><code>每個指令的幫助。</code>

<code>        </code><code>(2) language</code>

<code>            </code><code>當首次配置(配置檔案不存在)時,ossutil會向使用者詢問語言設定,可</code>

<code>        </code><code>選值為中文或者英文(CH/EN),如果鍵入回車,ossutil将根據使用者輸入的</code>

<code>        </code><code>--language選項配置,如果此時使用者也未輸入--language選項,将配置成預設</code>

<code>        </code><code>語言中文。</code>

<code>            </code><code>如果配置檔案已存在,ossutil會綜合使用者輸入的language選項和配置檔案</code>

<code>        </code><code>中的語言資訊,配置該項,而不會詢問。</code>

<code>            </code><code>ossutil在運作時會從配置檔案中讀取該language選項,如果該選項不存在</code>

<code>        </code><code>或者非法,将采用預設語言:CH。</code>

<code>            </code><code>注意:該配置項在此次config成功結束後才會生效,在執行config指令過</code>

<code>        </code><code>程中語言顯示不會受使用者的選擇影響。</code>

<code>        </code><code>(3) endpoint, accessKeyID, accessKeySecret</code>

<code>            </code><code>回車代表着跳過相應配置項的設定。注意:endpoint應該為一個二級域</code>

<code>        </code><code>名(SLD),例如:oss.aliyuncs.com。</code>

<code>            </code><code>以上選項一般為必選項。</code>

<code>        </code><code>(4) stsToken</code>

<code>            </code><code>如果使用者需要使用臨時token來通路oss,使用者需要填入該項,否則請輸入</code>

<code>        </code><code>回車跳過該項配置。</code>

<code>        </code><code>(5) outputDir</code>

<code>            </code><code>該選項配置輸出檔案所在目錄的路徑。互動式模式時不提供該選項的配置,</code>

<code>        </code><code>但配置檔案中該項配置起效。</code>

<code>            </code><code>outputDir的預設目錄為:目前目錄下的:ossutil_output,ossutil會在</code>

<code>        </code><code>運作過程中将輸出檔案都生成到該檔案夾下。輸出檔案目前包含:在cp指令中</code>

<code>        </code><code>批量操作出錯時,記錄每個檔案操作的錯誤資訊的report檔案。</code>

<code>            </code><code>關于outputDir和report檔案的更多資訊請參見cp指令的幫助。</code>

<code>            </code><code>注意:outputDir如果不存在,ossutil在産生輸出檔案時會自動建立該目錄,</code>

<code>        </code><code>如果outputDir存在且并非目錄,将會報錯。</code>

<code>        </code><code>下述互動式Bucket-Endpoint和Bucket-Cname配置被取消,但配置檔案中該兩項</code>

<code>        </code><code>配置仍然起效。</code>

<code>        </code><code>(6) Bucket-Endpoint</code>

<code>            </code><code>Bucket-Endpoint對每個指定的bucket單獨配置endpoint,此配置會優先于</code>

<code>        </code><code>配置檔案中關于預設endpoint的配置。</code>

<code>            </code><code>在該版本中,ossutil取消了互動式配置中,關于Bucket-Endpoint配對的配</code>

<code>        </code><code>置,但配置檔案中該項配置仍然起效,是以如果使用者想對每個bucket單獨指定</code>

<code>        </code><code>endpoint,仍然可以在配置檔案中進行配置。注意:此處的endpoint應該為一個</code>

<code>        </code><code>二級域名(SLD),例如:oss.aliyuncs.com。</code>

<code>            </code><code>如果配置了Bucket-Endpoint選項,當對某bucket進行操作時,ossutil會在</code>

<code>        </code><code>該選項中尋找該bucket對應的endpoint,如果找到,該endpoint會覆寫基本配置</code>

<code>        </code><code>中endpoint。但是運作指令時如果指定了--endpoint選項,--endpoint選項為最</code>

<code>        </code><code>高優先級。</code>

<code>        </code><code>(7) Bucket-Cname</code>

<code>            </code><code>Bucket-Cname為每個指定的bucket單獨配置CNAME域名(CDN加速域名),此</code>

<code>        </code><code>配置會優先于配置檔案中Bucket-Endpoint及endpoint的配置。</code>

<code>            </code><code>在該版本中,ossutil取消了互動式配置中,關于Bucket-Cname配對的配置,</code>

<code>        </code><code>但配置檔案中該項配置仍然起效,是以如果使用者想對每個bucket單獨指定CNAME</code>

<code>        </code><code>域名,仍然可以在配置檔案中進行配置。</code>

<code>            </code><code>如果配置了Bucket-Cname選項,當對某bucket進行操作時,ossutil會在該</code>

<code>        </code><code>選項中尋找該bucket對應的CNAME域名,如果找到,則找到的CNAME域名會覆寫</code>

<code>        </code><code>Bucket-Endpoint選項和基本配置中的endpoint。運作指令時如果指定了--endpoint</code>

<code>        </code><code>選項,--endpoint選項為最高優先級。</code>

<code>        </code><code>優先級:--endpoint &gt; Bucket-Cname &gt; Bucket-Endpoint &gt; endpoint &gt; 預設endpoint</code>

<code>    </code><code>2) ossutil config options</code>

<code>        </code><code>如果使用者使用指令時輸入了除--language和--config-file之外的任何選項,則</code>

<code>    </code><code>該指令進入非互動式模式。所有的配置項應當使用選項指定。</code>

<code>配置檔案格式:</code>

<code>    </code><code>[Credentials]</code>

<code>        </code><code>language = CH</code>

<code>        </code><code>endpoint = oss.aliyuncs.com</code>

<code>        </code><code>accessKeyID = your_key_id</code>

<code>        </code><code>accessKeySecret = your_key_secret</code>

<code>        </code><code>stsToken = your_sts_token</code>

<code>        </code><code>outputDir = your_output_dir</code>

<code>    </code><code>[Bucket-Endpoint]</code>

<code>        </code><code>bucket1 = endpoint1</code>

<code>        </code><code>bucket2 = endpoint2</code>

<code>        </code><code>...</code>

<code>    </code><code>[Bucket-Cname]</code>

<code>        </code><code>bucket1 = cname1</code>

<code>        </code><code>bucket2 = cname2</code>

<code>SAMPLE</code>

<code>    </code><code>ossutil config</code>

<code>    </code><code>ossutil config -e oss-cn-hangzhou.aliyuncs.com -c ~/.myconfig</code>

<code>OPTIONS</code>

<code>    </code><code>-c, --config-file</code>

<code>        </code><code>ossutil工具的配置檔案路徑,ossutil啟動時從配置檔案讀取配置,在config指令中,ossutil将配置寫入該檔案。</code>

<code>    </code><code>-e, --endpoint</code>

<code>        </code><code>ossutil工具的基本endpoint配置(該選項值會覆寫配置檔案中的相應設定),注意其必須為一個二級域名。</code>

<code>    </code><code>-i, --access-key-id</code>

<code>        </code><code>通路oss使用的AccessKeyID(該選項值會覆寫配置檔案中的相應設定)。</code>

<code>    </code><code>-k, --access-key-secret</code>

<code>        </code><code>通路oss使用的AccessKeySecret(該選項值會覆寫配置檔案中的相應設定)。</code>

<code>    </code><code>-t, --sts-token</code>

<code>        </code><code>通路oss使用的STSToken(該選項值會覆寫配置檔案中的相應設定),非必須設定項。</code>

<code>    </code><code>--output-dir=ossutil_output</code>

<code>        </code><code>指定輸出檔案所在的目錄,輸出檔案目前包含:cp指令批量拷貝檔案出錯時所産生的report檔案(關于report檔案更多資訊,請參考cp指令幫助)。預設值為:目前目錄下的ossutil_output目錄。</code>

<code>    </code><code>-L CH, --language=CH</code>

<code>        </code><code>設定ossutil工具的語言,預設值:CH,取值範圍:CH/EN,若設定成"CH",請確定您的系統編碼為UTF-8。</code>

配置ossutil由兩種方式:互動式和非互動式。

關于配置指令的更多幫助,請使用<code>ossutil help config</code>檢視。

<code>./ossutil config</code>

預設配置檔案目錄,為使用者根目錄下的.ossutilconfig

<code>$./ossutil config -L ch</code>

<code>該指令建立将一個配置檔案,在其中存儲配置資訊。</code>

<code>請輸入配置檔案路徑(預設為:/home/admin/.ossutilconfig,回車将使用預設路徑。如果使用者設定為其它路徑,在使用指令時需要将--config-file選項設定為該路徑):</code>

<code>./ossutil config -e oss.aliyuncs.com -i your_id -k your_key</code>

<code>./ossutil ls</code>或 <code>./ossutil ls oss://</code>

Aliyun OSSUTIL實作上傳下載下傳

<code>./ossutil ls oss://bucket</code>

Aliyun OSSUTIL實作上傳下載下傳

<code>./ossutil cp -r localfile oss://bucket</code>

Aliyun OSSUTIL實作上傳下載下傳
Aliyun OSSUTIL實作上傳下載下傳

<code>./ossutil cp -r --update oss://bucket localfile</code>

<code>./ossutil rm oss://bucket -rfb</code>

Aliyun OSSUTIL實作上傳下載下傳

參考:https://help.aliyun.com/document_detail/50452.html?spm=5176.product31815.3.2.1MiHLr

本文轉自奔跑在路上部落格51CTO部落格,原文連結http://blog.51cto.com/qiangsh/1865558如需轉載請自行聯系原作者

qianghong000

繼續閱讀