備份你的Raspberry Pi并不需要很復(fù)雜。雖然有許多高級的備份解決方案可供選擇,但有時(shí)最簡單的方法才是最有效的。在本文中,我將向你展示如何使用rsync——一個雖小但功能強(qiáng)大的命令行工具,非常適合為你的Raspberry Pi設(shè)置創(chuàng)建可靠的本地備份。
為什么Rsync是備份Raspberry Pi的最佳工具
Rsync(遠(yuǎn)程同步)是一個強(qiáng)大的文件同步和傳輸工具,它預(yù)先安裝在你的Raspberry Pi上。
其核心功能是高效地將文件從一個位置復(fù)制到另一個位置,但它比簡單的復(fù)制操作要智能得多。它只傳輸已更改的文件部分,從而節(jié)省時(shí)間和系統(tǒng)資源。這對于備份頻繁更改的大文件特別有用。
我主要使用rsync來備份Raspberry Pi上重要的用戶數(shù)據(jù)。例如,我在Raspberry Pi上維護(hù)一個照片庫服務(wù)器,rsync非常適合將所有這些珍貴圖片的備份副本保存在外部驅(qū)動器上,并自動檢測并復(fù)制新文件或已修改的文件。
與復(fù)制整個文件的備份工具不同,rsync只傳輸更改的部分,這使得備份速度顯著提高,并減少了SD卡的磨損。其命令行界面使其非常適合與cron作業(yè)結(jié)合進(jìn)行自動化,而內(nèi)置的校驗(yàn)和則確保備份的完整性。最重要的是,rsync的輕量級特性意味著,除非當(dāng)前正在運(yùn)行備份過程,否則它不會減慢你的Raspberry Pi速度,也不會占用太多的SD卡存儲空間。
出于這些原因,rsync是我需求的最佳解決方案,我相信它也是許多其他希望擁有可靠、高效備份系統(tǒng)的Raspberry Pi用戶的理想選擇。
使用Rsync備份Raspberry Pi文件和文件夾
備份目錄的最簡單方法是使用以下命令:
rsync -av /source/directory /backup/location
例如,要將我的主目錄備份到掛載在“/media/backup”的外部驅(qū)動器上,我使用以下命令:
rsync -av --delete /home/david/immich-app /media/backup
來備份我的照片庫數(shù)據(jù)庫。
以下是不同選項(xiàng)的作用:
·-a啟用歸檔模式,保留文件權(quán)限、所有權(quán)和時(shí)間戳。
·-v提供詳細(xì)輸出,以便我可以看到正在復(fù)制的內(nèi)容。
·--delete從備份位置刪除源中不再存在的文件。
注意:你還應(yīng)該了解,rsync對路徑中的尾隨斜杠很講究。源上的尾隨斜杠意味著“復(fù)制此目錄的內(nèi)容”而不是目錄本身。例如,rsync -av --delete /home/pi/folder /media/backup將“folder”的內(nèi)容直接復(fù)制到“backup”中,而省略斜杠則會將“folder”目錄本身復(fù)制到“backup”中。
驗(yàn)證你的Raspberry Pi備份
在依賴備份之前,你應(yīng)該驗(yàn)證它是否工作正常。最簡單的檢查方法是使用rsync的模擬運(yùn)行選項(xiàng),可以指定為-n或--dry-run。運(yùn)行以下命令:
rsync -avn --delete /home/pi/folder /media/backup.
如果你的備份是最新的,則不應(yīng)顯示需要傳輸?shù)奈募?/span>
為了進(jìn)行更徹底的驗(yàn)證,你可以向rsync命令中添加-c或--checksum選項(xiàng)。雖然這比默認(rèn)的時(shí)間戳和大小比較要慢,但它通過計(jì)算校驗(yàn)和來確保源和備份之間的每個文件都完全相同。只需運(yùn)行:
rsync -avc --delete /home/pi/folder /media/backup
驗(yàn)證備份的最詳細(xì)方法是使用diff命令,它比較源和備份位置之間的每個文件和目錄。要進(jìn)行此驗(yàn)證,請使用:
diff-r/home/pi/folder /media/backup/folder
-r選項(xiàng)告訴diff遞歸檢查所有子目錄。如果命令沒有產(chǎn)生輸出,則意味著你的備份與源完全相同。如果有差異,diff將顯示哪些文件不同或缺失。
使用Rsync創(chuàng)建完整的Raspberry Pi備份
在某些情況下,備份整個Raspberry PiSD卡可能比只備份幾個重要文件夾更方便、更安全。
要使用rsync創(chuàng)建完整的Raspberry Pi備份,你需要一個備份目標(biāo)——另一張SD卡或具有足夠空間保存整個系統(tǒng)的外部驅(qū)動器。備份驅(qū)動器應(yīng)使用與Linux兼容的文件系統(tǒng)(如ext4)進(jìn)行格式化,以正確保留所有文件權(quán)限和屬性。
備份完整Raspberry Pi系統(tǒng)最棘手的部分是正確處理特殊系統(tǒng)目錄和文件。根據(jù)我的經(jīng)驗(yàn),最簡單的解決方案是排除不需要備份或恢復(fù)時(shí)可能引發(fā)問題的系統(tǒng)目錄。創(chuàng)建一個名為“backup-exclude.txt”的文件,并添加以下應(yīng)從備份中排除的系統(tǒng)目錄:
/proc/*# 運(yùn)行時(shí)進(jìn)程信息
/sys/*# 內(nèi)核和系統(tǒng)信息
/dev/*# 設(shè)備文件
/tmp/*# 臨時(shí)文件
/run/*# 運(yùn)行時(shí)數(shù)據(jù)
/mnt/*# 掛載點(diǎn)
/media/*# 可移動媒體
/home/pi/.cache/*# 用戶緩存文件
/lost+found# 文件系統(tǒng)恢復(fù)目錄
設(shè)置這些排除項(xiàng)后,關(guān)閉盡可能多的正在運(yùn)行的應(yīng)用程序,然后執(zhí)行以下備份命令:
sudo rsync -avxhP --delete--exclude-from=/home/pi/backup-exclude.txt//media/backup/rootfs/
-x選項(xiàng)防止rsync跨越文件系統(tǒng)邊界,這可能會導(dǎo)致系統(tǒng)目錄出現(xiàn)問題。-h選項(xiàng)使rsync以人類可讀的格式顯示文件大小和傳輸速度。
自動化rsync備份
雖然手動創(chuàng)建的完整備份很有用,但我更喜歡使用Linux內(nèi)置的cron調(diào)度程序來自動化它們。要設(shè)置它,在你的主目錄中創(chuàng)建一個名為“backup-pi.sh”的文件,內(nèi)容如下:
#!/bin/bashBACKUP_DRIVE="/media/backup"LOG_FILE="/home/pi/backup-log.txt"# Check if backup drive is mountedif! mountpoint -q$BACKUP_DRIVE;then echo"Backup drive not mounted at$BACKUP_DRIVE">>$LOG_FILE exit1fi# Create timestamp for loggingdate>>$LOG_FILE# Run backup with error checkingsudo rsync -avxhP --delete \ --exclude-from=/home/pi/backup-exclude.txt \ /$BACKUP_DRIVE/rootfs/ \ >>$LOG_FILE2>&1# Record backup completionecho"Backup finished at$(date)">>$LOG_FILEecho"-------------------">>$LOG_FILE
使腳本可執(zhí)行,然后使用cron進(jìn)行調(diào)度。輸入crontab -e并添加以下行以在每天午夜運(yùn)行備份:
00* * */home/pi/backup-pi.sh
使用Rsync 恢復(fù) Raspberry Pi 備份
恢復(fù)單個文件或目錄的過程非常簡單。只需在rsync 命令中交換源和目標(biāo)位置即可。例如,要從備份中恢復(fù)您的照片庫,可以使用以下命令:
rsync-av/media/backup/home/david/immich-app//home/david/immich-app/
要進(jìn)行完整的系統(tǒng)恢復(fù),首先需要在SD 卡上全新安裝 Raspberry Pi OS。首先,在新的 SD 卡上安裝一份全新的 Raspberry Pi OS。完成后,使用新的 SD 卡啟動您的 Pi 并完成初始設(shè)置過程。接下來,將備份驅(qū)動器連接到您的 Pi。當(dāng)所有設(shè)備都已正確連接和掛載后,您可以使用 rsync 命令恢復(fù)備份:
sudo rsync-avxhP/media/backup/rootfs//
恢復(fù)完成后,建議重啟您的Pi 以檢查所有恢復(fù)的文件是否已正確加載。您還應(yīng)該驗(yàn)證重要的服務(wù)和配置是否按預(yù)期工作。
如果在恢復(fù)后某些應(yīng)用程序無法正常工作,請檢查其日志文件(通常位于/var/log/目錄下)以查找任何與權(quán)限相關(guān)的錯誤。您可能需要運(yùn)行以下命令來修復(fù)主目錄文件的所有權(quán):
sudochown-R$USER:$USER/home/$USER
如您所見,使用rsync 進(jìn)行恢復(fù)與創(chuàng)建備份一樣簡單——只需在命令中反轉(zhuǎn)源和目標(biāo)路徑即可。
雖然我更喜歡rsync 命令行界面的簡潔性,但如果您對終端操作不太熟悉,還有一些出色的圖形用戶界面 (GUI) 替代方案可供選擇。例如,Syncthing允許您在不同系統(tǒng)之間同步多個文件夾,而Timeshift則提供了一個簡潔的界面,提供系統(tǒng)快照功能。無論您選擇哪種工具,重要的是定期對您的Raspberry Pi 進(jìn)行備份,以保護(hù)您寶貴的數(shù)據(jù)和系統(tǒng)配置。
-
自動化
+關(guān)注
關(guān)注
29文章
5699瀏覽量
80667 -
樹莓派
+關(guān)注
關(guān)注
118文章
1884瀏覽量
106311
發(fā)布評論請先 登錄
相關(guān)推薦
支持ZigBee/INSTEON/X10協(xié)議 強(qiáng)大的家用自動化系統(tǒng)
樹莓派初學(xué)者?先做做這十個項(xiàng)目吧
樹莓派時(shí)光膠囊
樹莓派系列教程2:樹莓派燒寫鏡像
樹莓派系統(tǒng)備份
NAS存儲中如何進(jìn)行遠(yuǎn)程數(shù)據(jù)備份?
實(shí)現(xiàn)家庭自動化,使用樹莓派控制電燈
NAS網(wǎng)絡(luò)存儲中如何備份數(shù)據(jù)?
樹莓派ATEM Tally開源項(xiàng)目

樹莓派計(jì)算模塊開源項(xiàng)目

Quantum項(xiàng)目中替換樹莓派

一篇文章學(xué)會數(shù)據(jù)備份利器rsync
樹莓派監(jiān)視器開源項(xiàng)目

等待已久,新品上市 | RevPi Connect 4系列:基于樹莓派CM4計(jì)算模塊的全新工業(yè)樹莓派

評論