備份 Raspberry Pi 的完整指南
備份 Raspberry Pi 的過程非常簡單。儘管有大量先進的備份解決方案,但有時最直接的方法被證明是最有效的。在本指南中,我將示範如何使用 rsync – 一個非常有效率的命令列工具,非常適合為 Raspberry Pi 環境產生可靠的本機備份。
使用 Rsync 進行 Raspberry Pi 備份的優點
Rsync(遠端同步的縮寫)是一個強大的檔案同步和傳輸實用程序,可輕鬆預先安裝在 Raspberry Pi 裝置上。
該工具擅長將檔案從一個目錄複製到另一個目錄,但它的操作方式比基本檔案傳輸更聰明。 Rsync 僅傳輸檔案的修改部分,從而優化時間和系統資源。當備份經常更新的大檔案時,此功能特別有利。
我主要使用 rsync 來保護 Raspberry Pi 上的關鍵資料。例如,我在我的裝置上運行照片庫伺服器,rsync 有效地確保將這些有價值的映像備份到外部磁碟機上,自動識別和複製新的或修改的檔案。
與傳輸整個檔案的其他備份實用程式不同,rsync 僅專注於修改的段,從而顯著加快備份過程並減少 SD 卡的磨損。其命令列介面使其適合使用 cron 作業自動化,其內建校驗和可保證備份的完整性。此外,rsync 的輕量級設計意味著除非正在進行備份,否則它不會影響 Pi 的效能,也不會佔用 SD 卡上的過多空間。
這些功能使 rsync 成為我首選的備份解決方案,對於許多尋求可靠且高效備份策略的 Raspberry Pi 用戶來說,它可能是一個絕佳的選擇。
在 Raspberry Pi 上使用 Rsync 備份檔案和目錄
備份目錄最簡單的方法是使用以下命令:
例如,要將我的主目錄備份到位於“/media/backup”的外部驅動器,我使用以下命令:
此命令安全地保存我的照片庫資料庫。
以下是命令選項的細分:
-
-a
啟動存檔模式,保留檔案權限、所有權和時間戳記。 -
-v
啟用詳細輸出,使我能夠監控複製進度。 -
--delete
從備份中刪除來源目錄中不再存在的檔案。
確保您的 Raspberry Pi 備份成功
在依賴備份之前,必須確認備份已成功完成。最簡單的方法是使用 rsync 執行試運行,可以使用-n
或來指示--dry-run
。執行以下命令:
如果您的備份是最新的,則不應有任何檔案指示要傳輸。
為了進行更全面的驗證,您可以在 rsync 命令中包含-c
或選項。--checksum
雖然與預設時間戳記和大小檢查相比,此方法速度較慢,但它透過產生校驗和來確保來源檔案和備份檔案之間的每個檔案都是相同的。只需運行:
最詳細的驗證方法涉及使用該diff
命令,該命令會比較來源位置和備份位置之間的每個檔案和目錄。為此,請使用:
此-r
選項允許 diff 遞歸地檢查所有子目錄。如果沒有出現輸出,則表示您的備份與來源相符。如果發現差異,diff
將指定哪些檔案有所不同或遺失。
使用 Rsync 執行全面的 Raspberry Pi 備份
在某些情況下,對整個 Raspberry Pi SD 卡進行完整備份可能比僅備份幾個重要資料夾更方便、更安全。
要使用 rsync 對 Raspberry Pi 進行完整備份,您將需要一個備份目標 – 另一張 SD 卡或具有足夠容量來儲存整個系統的外部磁碟機。確保備份磁碟機採用 Linux 相容的檔案系統(例如 ext4)進行格式化,以準確維護所有檔案權限和屬性。
備份完整 Raspberry Pi 設定最具挑戰性的方面是適當管理特殊系統目錄和檔案。根據我的經驗,最好的方法是排除不需要備份或復原後可能導致複雜情況的系統目錄。您可以建立一個名為「backup-exclude.txt」的文件,並將下列系統目錄包含為排除項:
- /proc/* # 運行時進程資訊
- /sys/* # 內核和系統詳細信息
- /dev/* # 設備文件
- /tmp/* # 暫存文件
- /run/* # 運行時數據
- /mnt/* # 掛載點
- /media/* # 可移動媒體
- /home/pi/.cache/* # 使用者快取文件
- /lost+found # 檔案系統復原目錄
設定這些排除項後,您可以關閉任何不必要的應用程式並執行以下備份命令:
此-x
選項使 rsync 無法在不同檔案系統層之間導航,這可能會導致系統資料夾變得複雜。此-h
選項可確保 rsync 以使用者更容易存取的格式顯示檔案大小和傳輸速度。
安排自動 Rsync 備份
雖然手動完整備份很有價值,但我更喜歡透過 Linux 內建的 cron 調度系統將其自動化。要進行此設置,請在主目錄中建立名為“backup-pi.sh”的腳本,其中包含以下內容:
使用 使腳本可執行chmod +x backup-pi.sh
,然後透過鍵入crontab -e
並新增此行來使用 cron 安排它,以便每天在午夜執行備份:
如何還原 Rsync Raspberry Pi 備份
恢復單一檔案或目錄是一個簡單的過程。只需在 rsync 命令中切換來源和目標。例如,要從備份還原照片庫:
要進行完整的系統恢復,您需要在 SD 卡上新安裝 Raspberry Pi 作業系統。首先在新的 SD 卡上全新安裝 Raspberry Pi OS。之後,使用新的 SD 卡啟動您的 Raspberry Pi 並完成初始設定。將備份磁碟機連接到 Pi,正確安裝所有內容後,您可以使用 rsync 還原備份:
恢復完成後,我建議重新啟動 Pi,以確保正確載入所有復原的檔案。此外,驗證您的基本服務和配置是否如預期運作。
如果任何應用程式在復原後無法正常執行,請檢查其記錄檔(通常位於 /var/log/ 中)是否有與權限相關的問題。您可能需要執行:
解決主目錄檔案的所有權問題。使用 rsync 還原資料就像進行備份一樣簡單 – 只需顛倒命令中的來源路徑和目標路徑即可。
雖然我很欣賞 rsync 簡單的命令列方法,但對於不喜歡使用終端機的人來說,有許多優秀的 GUI 替代方案可供選擇。例如,Syncthing 讓您能夠在不同系統中同步多個資料夾,而 Timeshift 則透過使用者友善的介面提供系統快照功能。無論您選擇哪種工具,關鍵的一點是確保定期備份 Raspberry Pi,以保護您的關鍵資料和系統設定。
所有圖片均由大衛·莫雷洛提供。
發佈留言