如果要在Linux系統備份檔案,我們知道有rclone、dd指令能作到。不過那需要開終端機打指令,並且比較適合用在伺服器管理。
換作是Linux桌面用戶,有沒有直觀一點的圖形化備份工具呢?最好是有GUI能一鍵備份整個系統,出問題可以一鍵還原的那種?很好,「Timeshift」就是你的選擇。
顧名思義,Timeshift提供時光機一樣的時光倒流功能,方便用戶備份整個Linux系統到另外一個硬碟,並在系統出錯的時候一鍵還原到之前的樣子。
甚至電腦無法開機的情況下,你也可以在LiveUSB跑Timeshift,從備份還原系統。
Timeshift界面直觀易用,可以設定自動排程備份,備份檔會壓縮以節省硬碟空間。
這篇文章以簡單的使用例子,解說如何使用Timeshift備份與還原Linux系統。我會先製作一個系統備份,接著在桌面新增檔案,然後還原系統備份,讓新增的檔案消失。
1. 安裝Timeshift#
Timeshift最早為Tony George開發,現由Linux Mint開發團隊維護,並內建於Linux Mint系統。原始碼可於 Github取得。
其他Linux發行版也有收Timeshift套件。
Debian / Ubuntu:
sudo apt install timeshift
Fedora:
sudo dnf install timeshift
openSUSE:
sudo zypper install timeshift
Arch Linux / Manjaro:
sudo pacman -S timeshift
2. 用Timeshift備份系統#
Timeshift原理是給目前系統製作快照(snapshot),並儲存成備份檔。備份檔的大小是按照目前系統佔用的容量計算,不會整個硬碟都備份下去。
備份檔建議放在其他硬碟,要還原的話比較容易,尤其是系統根本無法開機的狀況下。但是Timeshift不支援NTFS、exFAT、網路檔案系統,存放快照的硬碟必須是BTRFS或EXT4檔案系統才可以。
開啟Timeshift,選擇使用RSYNC快照類型,此選項適用大多數Linux發行版使用的檔案系統。BTRFS屬於較新的檔案系統,只有少數發行版採用。
選取快照儲存位置,可以放在同一個硬碟或是另一個硬碟。如圖所示,下面容量較大的
vda2
是我的系統碟,而我要將系統備份到另一個硬碟sda1
。請放心,Timeshift的備份不會刪除整個硬碟,而是建立一個timeshift
目錄專門放快照檔案。接著選取多久要自動建立快照。
接著選取是否要備份使用者家目錄檔案,全部打勾。Timeshift不只備份使用者家目錄,連GRUB都一起備份。
點選左上角建立快照
輸入sudo密碼,等待快照製作完成。SSD寫入通常五分鐘就完成了。
從檔案管理員可以看到Timeshift製作的快照,佔用的容量會比原始的系統小一些。當然這邊只是範例,實務上因為要儲存多份快照,用來備份的硬碟容量還是得比系統碟大。
接著我在桌面新增一張相片和文字檔,等會還原系統的時候這些檔案就會不見。
3. 用Timeshift還原系統#
點選Timeshift的備份檔,點選上方的「還原」。
選取要還原的硬碟
所有選項全部同意,輸入sudo密碼,等待系統還原,接著它會重開機。
重開機後系統回到製作快照前的樣子,桌面的檔案不見了。
4. 在LiveUSB跑Timeshift還原系統#
假設你的系統無法開機,但備份檔存在另一個硬碟的情況下,還是可以用Timeshift還原系統的。那麼先做個LiveUSB備用吧。
準備隨身碟,安裝 Ventoy
將 Ubuntu LTS的ISO放到隨身碟
在開機進入Ubuntu系統後,連上網路,安裝Timeshift套件。
sudo apt install timeshift
- 開啟Ubuntu的檔案管理器,掛載裝有備份檔的硬碟,再開啟Timeshift還原。