revert-versioning命令用于在開啟版本控制的存儲空間(Bucket)中,將已刪除的文件(Object)恢復至最近的版本。
注意事項
要恢復文件的版本,您必須具有
oss:ListObjectVersions
和oss:DeleteObjectVersion
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
關于版本控制的更多信息,請參見版本控制概述。
關于刪除標記的更多信息,請參見刪除標記。
當您在OSS ON云盒中使用該命令時:
將配置文件中的Endpoint替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
在本文已有示例的基礎上添加--sign-version、--region以及--cloudbox-id選項。關于這三個選項的具體用法,請參見通用選項。
命令格式
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****
關于此命令的其他通用選項的更多信息,請參見通用選項。