ossutil是以命令行方式管理OSS數(shù)據(jù)的工具,提供方便、簡潔、豐富的存儲空間(Bucket)和文件(Object)管理命令,支持Windows、Linux、 Mac平臺。
功能介紹
通過ossutil,您可以進行如下操作:
管理Bucket,如:創(chuàng)建、列舉或刪除Bucket等。
管理Object,如:上傳、下載、列舉、拷貝和刪除Object等。
管理碎片(part),如:列舉和刪除part等。
安裝方法
Windows系統(tǒng)(以64位系統(tǒng)為例)
下載工具。
將工具解壓到指定的文件夾,并雙擊運行ossutil.bat文件。
生成配置文件,配置參數(shù)參考Linux系統(tǒng)的配置參數(shù)。
D:\ossutil>ossutil64.exe config
常見問題
本文介紹在使用ossutil時可能出現(xiàn)的問題及處理方法。
使用-u參數(shù)上傳文件時出現(xiàn)skip提示
問題分析:使用-u參數(shù)上傳文件的時候,ossutil會將上傳文件和存儲空間(Bucket)內已有文件進行一次比對。若發(fā)現(xiàn)上傳的文件與目標Bucket內已有文件同名,且該文件的最后修改時間早于或等于Bucket內已有文件,上傳時會跳過該文件;若該文件的最后修改時間晚于Bucket內已有文件,則重新上傳該文件。所以使用-u參數(shù)上傳文件時出現(xiàn)skip提示是正?,F(xiàn)象。
解決方案:確認Bucket內文件上傳無問題后忽略該提示。
文件解凍時出現(xiàn)403報錯
問題分析:操作解凍文件的過程中出現(xiàn)403,有以下兩種可能性。
若您是使用子賬號操作文件,可能是子賬號權限不足,無目標文件的操作權限。
您文件內容違禁OSS被封禁了。
解決方案:
子賬號權限不足:增加子賬號權限。
文件內容違禁:刪除或忽略該文件。
使用ls命令查看Bucket無文件,刪除Bucket時報錯
問題分析:使用ls命令列舉Bucket內的文件且未攜帶任何選項時,無法列舉碎片、歷史版本文件(僅存在于開啟過版本控制的Bucket)。若Bucket為非空(即Bucket中存在碎片、歷史版本文件),僅使用rm命令無法刪除該Bucket。
解決方案:
先刪除碎片和歷史版本文件(未開啟過版本控制請忽略),再刪除Bucket。
刪除碎片和歷史版本文件。
列舉并刪除碎片:
./ossutil ls oss://bucket1 -m
./ossutil rm -m oss://bucket1 -r
列舉并刪除歷史版本文件:
./ossutil ls oss://bucket1 --all-versions
./ossutil rm oss://bucket1 --all-versions -r
刪除Bucket。
./ossutil rm oss://bucket1 -b
強制刪除Bucket。
若存儲空間未開啟版本控制,使用如下命令強制刪除Bucket:
./ossutil rm oss://bucketname -abrf
若存儲空間已開啟版本控制,使用如下命令強制刪除Bucket:
./ossutil rm oss://bucketname -abrf --all-versions
警告 Bucket及文件被刪除后,無法恢復,請謹慎使用該命令。
文件上傳、下載進度超過100%
問題分析:ossutil在上傳、下載文件時,會自動生成一個名為.ossutil_checkpoint文件夾。當目標文件超過100 MB時,ossutil默認使用斷點續(xù)傳上傳或下載目標文件,并將過程中生成的斷點信息文件保存在.ossutil_checkpoint文件夾中。上傳、下載任務完成后,會自動刪除這個文件夾。若單機運行超過一個ossutil實例,且都在進行上傳或下載任務,當其中一個ossutil的任務完成后,會自動刪除.ossutil_checkpoint文件夾,導致其它需要使用斷點續(xù)傳的ossutil任務進度超過100%且無法完成。
解決方案:
將當前任務結束,重新開始上傳、下載任務。
在cp命令中加上--checkpoint-dir參數(shù),并手動指定一個與默認checkpoint文件夾不同名的文件夾。例如:
./ossutil cp oss://bucket1/myphoto.jpg /dir --checkpoint-dir checkpoint