最強大跨平臺備份工具 Restic 的使用

爲什麼選擇 restic,主要基於以下幾點考慮:

  • rclone sync 只支持本地向遠程無條件的同步,遠程的永遠會被覆蓋
  • Brog是純 C 開發的,只在*nix系統下運行,而 restic 可以在任何 CPU架構,任何系統上運行,因爲是由 go 開發的,運行效率接近於 C 。
  • rsync 對於新手並不友好,而且只有 *nix 版本,雖然也有 windows 版本,但似乎不是官方出品。

首先,創建一個備份倉庫,如果結合 rclone 使用,可以指定一個掛在爲遠程服務器的位置,沒有的話,可以使用本地路徑作爲備份倉庫。

restic init --repo ./backup

執行此命令後,會讓你輸入備份倉庫密碼,注意如它所說,記住此密碼不要丟失。這個命令的執行可能需要等待1分鐘左右,對於 NFS 文件系統,可能需要的時間更長,等就是了。

enter password for new repository:
enter password again:
created restic repository a6801fab57 at ./backup

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

添加一個本地文件夾到備份倉庫,你也可以繼續添加其它的文件夾。

restic --repo ./backup backup ./mywork

同樣,對於訪問備份倉庫,需要密碼訪問,然後這個過程也會比較長,因爲都是基於文件哈希值作爲備份版本的依據,此時命令會提示:

enter password for repository:
repository a6801fab opened successfully, password is correct

Files:           1 new,     0 changed,     0 unmodified
Dirs:            0 new,     0 changed,     0 unmodified
Added to the repo: 319 B

processed 1 files, 19 B in 0:08
snapshot 8c4b2b4a saved

最後的一行,snapshot 8c4b2b4a saved 中的8位字符就是本次的備份版本號,這和 Git 十分類似,用過的大家都知道,以後無論是刪除備份還是還原備份,都是基於這個版本號。

查看備份庫中的所有備份快照:

restic -r ./backup snapshots

在恢復備份之前,我們都會查看一下快照,防止恢復了錯誤的版本,可以使用上面的命令。

enter password for repository:
repository a6801fab opened successfully, password is correct
ID        Date                 Host        Tags        Directory
----------------------------------------------------------------------
8c4b2b4a  2018-10-15 16:59:48  DELL-PC               E:\Temps\mywork
----------------------------------------------------------------------
1 snapshots

在以上的表格中,ID 就是備份的版本號,Date 是備份快照創建日期, HOST 是備份客戶端的主機名,Tags 是標籤,在我們這個演示中沒有用到,Directory 是客戶端原始備份目錄,這是因爲它可以支持多個客戶端,多個倉庫的備份, restic 更像是一個集中式的版本備份系統。

接下來是如何還原一個備份,十分簡單,指定 restore 哪一個版本號,以及 target 指向一個恢復路徑,就會完成備份的還原。

restic -r ./backup restore 8c4b2b4a --target ./mywork_restore
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章