全部產品
Search
文件中心

Object Storage Service:revert(恢複版本)

更新時間:Aug 01, 2024

revert命令用於在開啟版本控制的儲存空間(Bucket)中,將已刪除的檔案(Object)恢複至最近的版本。

注意事項

命令格式

ossutil revert oss://bucket[/prefix] version-directive [flags]

參數

類型

說明

version-directive

string

版本資訊。取值:

  • 版本ID,例如CAEQIBiBgICAr6yv9hgiIDZiNmUzNjM5Njg0ZDRhOWQ4Yj。

  • 版本索引,HEAD~n,即恢複到第n-1個有效版本 (不包括刪除標記)。

    • 當HEAD~0時,即恢複到最近的有效版本,如果最新版本是刪除標記,則通過刪除刪除標記恢複。

    • 當HEAD~n, n > 0 時,通過拷貝方式把指定版本拷貝成最新版本。

  • 時間索引,NOW~相對時間或NOW~絕對時間,即恢複到不大於該時間的第一個版本 (不包括刪除標記)。

    • NOW~相對時間:NOW~1d,即恢複到1天前的版本。單位尾碼支援:ms毫秒、s秒、m分鐘、h小時、d天、w星期、M月、y年。

    • NOW~絕對時間 :NOW~2024-04-12T14:00:00,即恢複到2024-04-12T14:00:00 UTC 時間前的版本。

-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