revert命令用於在開啟版本控制的儲存空間(Bucket)中,將已刪除的檔案(Object)恢複至最近的版本。
注意事項
要恢複檔案的版本,您必須具有
oss:GetObject
、oss:PutObject
、oss:ListObjectVersions
和oss:DeleteObject
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。
命令格式
ossutil revert oss://bucket[/prefix] version-directive [flags]
參數 | 類型 | 說明 |
version-directive | string | 版本資訊。取值:
|
-d, --dirs | / | 返回目前的目錄下的檔案和子目錄,而非遞迴顯示所有子目錄下的所有檔案。 |
--encoding-type | string | 輸入的對象名或檔案名稱的編碼方式。取值:url。 |
--end-with | string | 按字母排序,返回設定值之前的對象,包含設定值。 |
--exclude | stringArray | 路徑或檔案名稱的排除規則。 |
--exclude-from | stringArray | 從規則檔案裡讀取排除規則。 |
--files-from | stringArray | 從檔案中讀取源檔案名稱列表,忽略空行或注釋行。 |
--files-from-raw | stringArray | 從檔案中讀取源檔案名稱列表。 |
--filter | stringArray | 路徑或檔案名稱過濾規則。 |
--filter-from | stringArray | 從規則檔案讀取過濾規則。 |
-f, --force | / | 強制操作,不進行詢問提示。 |
--ignore-version-not-exist | / | 進行大量操作時,如果版本不存在,預設報錯,也可以通過--ignore-version-not-exist忽略錯誤。 |
--include | stringArray | 路徑或檔案名稱的包含規則。 |
--include-from | stringArray | 從規則檔案裡讀取包含規則。 |
--max-age | Duration | 不傳輸任何比此更早的檔案,預設是秒,或單位尾碼形式 ms|s|m|h|d|w|M|y(預設值off)。 |
--min-mtime | Time | 不傳輸任何比此更早的檔案,UTC時間格式(預設值off)。 |
--page-size | int | 返回對象或檔案的最大數(預設值1000),取值範圍1~1000。 |
-r, --recursive | / | 遞迴進行操作。當指定該選項時,命令會對儲存空間下所有合格對象進行操作,否則只對路徑指定的對象進行操作。 |
--request-payer | string | 請求的支付方式,如果為要求者付費模式,請設定該值。取值:requester。 |
--start-after | string | 按字母排序,返回設定值之後的對象,不包含設定值。 |
關於支援的全域命令列選項,請參見支援的全域命令列選項。
更多說明:該命令不支援通過刪除方式恢複到指定版本。如果您需要通過刪除版本方式來恢複資料,可以通過rm命令來完成,例如:刪除 key123 的前三個版本。
ossutil rm oss://bucket/key123 --end-with key123 --limited-num 3 -rf --all-versions
使用樣本
對儲存空間examplebucket裡的example.txt對象恢複到版本號碼為123的狀態。
ossutil revert oss://examplebucket/example.txt 123
對儲存空間examplebucket裡的example.txt對象恢複到最近的版本狀態。
ossutil revert oss://examplebucket/example.txt HEAD~0
對儲存空間examplebucket裡的example.txt對象恢複到第4箇舊版本狀態。
ossutil revert oss://examplebucket/example.txt HEAD~4
對儲存空間examplebucket裡的example.txt對象恢複到一天前的第一個版本狀態。
ossutil revert oss://examplebucket/example.txt NOW~1d
對儲存空間examplebucket裡的example.txt對象恢複到2024-04-12T14:00:00前的第一個版本狀態。
ossutil revert oss://examplebucket/example.txt NOW~2024-04-12T14:00:00
對儲存空間examplebucket裡的dir目錄下的對象恢複到第4箇舊版本狀態。
ossutil revert oss://examplebucket/dir -r HEAD~4
對儲存空間examplebucket裡的dir目錄下的對象恢複到第4箇舊版本狀態並忽略版本不存在的錯誤。
ossutil revert oss://examplebucket/dir -r HEAD~4 --ignore-version-not-exist