revert-versioning命令用於在開啟版本控制的儲存空間(Bucket)中,將已刪除的檔案(Object)恢複至最近的版本。
注意事項
要恢複檔案的版本,您必須具有
oss:ListObjectVersions
和oss:DeleteObjectVersion
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考。
命令格式
ossutil revert-versioning oss://bucketname[/prefix]
[--encoding-type <value>]
[-r,--recursive]
[--start-time <value> ]
[--end-time <value>]
[--include <value>]
[--exclude <value>]
[--payer <value>]
參數及選項說明如下:
配置項 | 說明 |
bucketname | Bucket名稱。 |
prefix | Bucket下的資源、例如目錄、檔案等。 |
--encoding-type | 對 |
-r,--recursive | 如果指定該選項時,ossutil將恢複Bucket下所有符合prefix條件的Object為最近的版本。如果不指定該選項,則ossutil只恢複指定Object為最近的版本。 |
--start-time | 值為Linux或Unix系統下的時間戳記。如果輸入該選項,則刪除時間早於該時間的Object會被忽略。 |
--end-time | 值為Linux或Unix系統下的時間戳記。如果輸入該選項,則刪除時間晚於該時間的Object會被忽略。 |
--include | 包含符合指定條件的所有Object。 更多資訊,請參見include和exclude選項。 |
--exclude | 不包含任何符合指定條件的Object。 更多資訊,請參見include和exclude選項。 |
--payer | 請求的支付方式。如果希望訪問指定路徑下的資源產生的流量、請求次數等費用由要求者支付,請將此選項的值設定為requester。 |
使用樣本
恢複樣本
將目標儲存空間examplebucket下處於刪除狀態的exampleobject.jpg恢複為最近的版本。
ossutil revert-versioning oss://examplebucket/exampleobject.jpg
結合-r選項,將目標儲存空間examplebucket下匹配指定首碼destdir且處於刪除狀態的多個Object恢複為最近的版本。
ossutil revert-versioning oss://examplebucket/destdir -r
結合-r選項,將目標儲存空間examplebucket內所有處於刪除狀態的Object恢複為最近的版本
ossutil revert-versioning oss://examplebucket -r
將在指定時間範圍內刪除的Object恢複為最近的版本
結合-r選項,將目標儲存空間examplebucket下於北京時間2020年6月16日16:22:58至2020年6月16日16:39:38內刪除的Object恢複至最近的版本。
ossutil revert-versioning oss://examplebucket -r --start-time 1592295778 --end-time 1592296778
將所有匹配指定條件且已刪除的Object恢複為最近的版本
結合-r選項,將目標儲存空間examplebucket下所有格式為TXT且已刪除的Object恢複為最近的版本。
ossutil revert-versioning oss://examplebucket --include "*.txt" -r
結合-r選項,將目標儲存空間examplebucket下所有格式不為JPG且已刪除的Object恢複為最近的版本。
ossutil revert-versioning oss://examplebucket --exclude "*.jpg" -r
返回結果
恢複成功後,返回結果中將包含恢複的Object個數以及完成恢複操作所用時間長度,樣本如下:
revert versioning object count is 10, batch list count is 10 0.066413(s) elapsed
通用選項
當您需要通過命令列工具ossutil切換至另一個地區的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令列工具ossutil切換至另一個阿里雲帳號下的Bucket時,可以通過-i選項指定該帳號的AccessKey ID,並通過-k選項指定該帳號的AccessKey Secret。
例如您需要將另一個阿里雲帳號下,華東2(上海)地區下目標儲存空間testbucket內處於刪除狀態的exampletest.png檔案恢複為最近的版本,命令如下:
ossutil revert-versioning oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關於此命令的其他通用選項的更多資訊,請參見通用選項。