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

一篇文章學(xué)會(huì)數(shù)據(jù)備份利器rsync
樹(shù)莓派家庭自動(dòng)化開(kāi)源

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

樹(shù)莓派PLC:讓工業(yè)自動(dòng)化進(jìn)入DIY時(shí)代!

樹(shù)莓派也能實(shí)現(xiàn)海上自動(dòng)化駕駛?

樹(shù)莓派“吉尼斯世界記錄”:將樹(shù)莓派的性能發(fā)揮到極致的項(xiàng)目!

樹(shù)莓派小技巧:無(wú)需鍵盤或顯示器,如何通過(guò)WiFi設(shè)置樹(shù)莓派?

評(píng)論