0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

别让数据丢失毁了你的树莓派项目!rsync 自动化备份教程!

上海晶珩电子科技有限公司 ? 2025-03-25 09:22 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

备份你的Raspberry Pi并不需要很复杂。虽然有许多高级的备份解决方案可供选择,但有时最简单的方法才是最有效的。在本文中,我将向你展示如何使用rsync——一个虽小但功能强大的命令行工具,非常适合为你的Raspberry Pi设置创建可靠的本地备份。

为什么Rsync是备份Raspberry Pi的最佳工具

Rsync(远程同步)是一个强大的文件同步和传输工具,它预先安装在你的Raspberry Pi上。

其核心功能是高效地将文件从一个位置复制到另一个位置,但它比简单的复制操作要智能得多。它只传输已更改的文件部分,从而节省时间和系统资源。这对于备份频繁更改的大文件特别有用。

9200ac36-0917-11f0-9434-92fbcf53809c.png

我主要使用rsync来备份Raspberry Pi上重要的用户数据。例如,我在Raspberry Pi上维护一个照片库服务器,rsync非常适合将所有这些珍贵图片的备份副本保存在外部驱动器上,并自动检测并复制新文件或已修改的文件。

与复制整个文件的备份工具不同,rsync只传输更改的部分,这使得备份速度显著提高,并减少了SD卡的磨损。其命令行界面使其非常适合与cron作业结合进行自动化,而内置的校验和则确保备份的完整性。最重要的是,rsync的轻量级特性意味着,除非当前正在运行备份过程,否则它不会减慢你的Raspberry Pi速度,也不会占用太多的SD卡存储空间。

出于这些原因,rsync是我需求的最佳解决方案,我相信它也是许多其他希望拥有可靠、高效备份系统的Raspberry Pi用户的理想选择。

使用Rsync备份Raspberry Pi文件和文件夹

备份目录的最简单方法是使用以下命令:

rsync -av /source/directory /backup/location

例如,要将我的主目录备份到挂载在“/media/backup”的外部驱动器上,我使用以下命令:

rsync -av --delete /home/david/immich-app /media/backup

来备份我的照片库数据库。

9246bc1c-0917-11f0-9434-92fbcf53809c.png

以下是不同选项的作用:

·-a启用归档模式,保留文件权限、所有权和时间戳。

·-v提供详细输出,以便我可以看到正在复制的内容。

·--delete从备份位置删除源中不再存在的文件。

注意:你还应该了解,rsync对路径中的尾随斜杠很讲究。源上的尾随斜杠意味着“复制此目录的内容”而不是目录本身。例如,rsync -av --delete /home/pi/folder /media/backup将“folder”的内容直接复制到“backup”中,而省略斜杠则会将“folder”目录本身复制到“backup”中。

验证你的Raspberry Pi备份

在依赖备份之前,你应该验证它是否工作正常。最简单的检查方法是使用rsync的模拟运行选项,可以指定为-n或--dry-run。运行以下命令:

rsync -avn --delete /home/pi/folder /media/backup.

如果你的备份是最新的,则不应显示需要传输的文件。

92634df0-0917-11f0-9434-92fbcf53809c.png

为了进行更彻底的验证,你可以向rsync命令中添加-c或--checksum选项。虽然这比默认的时间戳和大小比较要慢,但它通过计算校验和来确保源和备份之间的每个文件都完全相同。只需运行:

rsync -avc --delete /home/pi/folder /media/backup

验证备份的最详细方法是使用diff命令,它比较源和备份位置之间的每个文件和目录。要进行此验证,请使用:

diff-r/home/pi/folder /media/backup/folder

-r选项告诉diff递归检查所有子目录。如果命令没有产生输出,则意味着你的备份与源完全相同。如果有差异,diff将显示哪些文件不同或缺失。

使用Rsync创建完整的Raspberry Pi备份

在某些情况下,备份整个Raspberry PiSD卡可能比只备份几个重要文件夹更方便、更安全。

要使用rsync创建完整的Raspberry Pi备份,你需要一个备份目标——另一张SD卡或具有足够空间保存整个系统的外部驱动器。备份驱动器应使用与Linux兼容的文件系统(如ext4)进行格式化,以正确保留所有文件权限和属性。

备份完整Raspberry Pi系统最棘手的部分是正确处理特殊系统目录和文件。根据我的经验,最简单的解决方案是排除不需要备份或恢复时可能引发问题的系统目录。创建一个名为“backup-exclude.txt”的文件,并添加以下应从备份中排除的系统目录:

/proc/*# 运行时进程信息

/sys/*# 内核和系统信息

/dev/*# 设备文件

/tmp/*# 临时文件

/run/*# 运行时数据

/mnt/*# 挂载点

/media/*# 可移动媒体

/home/pi/.cache/*# 用户缓存文件

/lost+found# 文件系统恢复目录

设置这些排除项后,关闭尽可能多的正在运行的应用程序,然后执行以下备份命令:

sudo rsync -avxhP --delete--exclude-from=/home/pi/backup-exclude.txt//media/backup/rootfs/

-x选项防止rsync跨越文件系统边界,这可能会导致系统目录出现问题。-h选项使rsync以人类可读的格式显示文件大小和传输速度。

自动化rsync备份

虽然手动创建的完整备份很有用,但我更喜欢使用Linux内置的cron调度程序来自动化它们。要设置它,在你的主目录中创建一个名为“backup-pi.sh”的文件,内容如下:

#!/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

使脚本可执行,然后使用cron进行调度。输入crontab -e并添加以下行以在每天午夜运行备份:

00* * */home/pi/backup-pi.sh

92aaf77c-0917-11f0-9434-92fbcf53809c.png

使用Rsync 恢复 Raspberry Pi 备份

恢复单个文件或目录的过程非常简单。只需在rsync 命令中交换源和目标位置即可。例如,要从备份中恢复您的照片库,可以使用以下命令:

rsync-av/media/backup/home/david/immich-app//home/david/immich-app/

要进行完整的系统恢复,首先需要在SD 卡上全新安装 Raspberry Pi OS。首先,在新的 SD 卡上安装一份全新的 Raspberry Pi OS。完成后,使用新的 SD 卡启动您的 Pi 并完成初始设置过程。接下来,将备份驱动器连接到您的 Pi。当所有设备都已正确连接和挂载后,您可以使用 rsync 命令恢复备份:

sudo rsync-avxhP/media/backup/rootfs//

恢复完成后,建议重启您的Pi 以检查所有恢复的文件是否已正确加载。您还应该验证重要的服务和配置是否按预期工作。

如果在恢复后某些应用程序无法正常工作,请检查其日志文件(通常位于/var/log/目录下)以查找任何与权限相关的错误。您可能需要运行以下命令来修复主目录文件的所有权:

sudochown-R$USER:$USER/home/$USER

如您所见,使用rsync 进行恢复与创建备份一样简单——只需在命令中反转源和目标路径即可。

虽然我更喜欢rsync 命令行界面的简洁性,但如果您对终端操作不太熟悉,还有一些出色的图形用户界面 (GUI) 替代方案可供选择。例如,Syncthing允许您在不同系统之间同步多个文件夹,而Timeshift则提供了一个简洁的界面,提供系统快照功能。无论您选择哪种工具,重要的是定期对您的Raspberry Pi 进行备份,以保护您宝贵的数据和系统配置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    29

    文章

    5789

    浏览量

    85300
  • 树莓派
    +关注

    关注

    122

    文章

    2034

    浏览量

    107694
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    支持ZigBee/INSTEON/X10协议 强大的家用自动化系统

    树莓变成“家庭辅助”的那一层奶油,它是一个非常成熟的自动化网关,基于ZigBee,INSTEON和X10协议,可以管理家庭或者大型建
    发表于 07-08 12:42

    树莓初学者?先做做这十个项目

    就能很好地完成,当然树莓就更不用说了。打造一个简单的结合运动传感器和压电蜂鸣器的报警系统能够让更快地了解树莓的外部硬件利用方法;另外,
    发表于 12-01 17:45

    树莓派系列教程2:树莓烧写镜像

    /article-595-1.html----------------------------------------------------------------------------------------树莓没有硬盘,取而代之的是TF卡。只需一个电源一张TF卡
    发表于 03-28 10:40

    树莓派系统备份

    树莓派系统备份通过不断研究树莓备份也是简单的,可以使用u***it-162也可以使用linux系统或者win32diskimage
    发表于 03-08 16:03

    NAS存储中如何进行远程数据备份

    ,点击完成; 10.任务创建完成,Rsync备份将按照的设置自动执行; 11.可前往Rsync服务器查看执行结果。
    发表于 11-08 17:42

    实现家庭自动化,使用树莓控制电灯

    家庭自动化是业余爱好者和电子爱好者喜爱的DIY项目之一。此类家庭自动化项目的一部分是控制电灯,如灯泡或吊扇。使用Raspberry Pi(或任何其他平台)的家庭
    发表于 05-24 08:00

    NAS网络存储中如何备份数据

    当安装好TNAS后,想要实现备份数据,还要随时查看所有文件?TNAS为提供了多种备份工具,如AOMEI Backupper、Time Machine、Duple Backup
    发表于 01-06 17:26

    Quantum项目中替换树莓

    电子发烧友网站提供《Quantum项目中替换树莓.zip》资料免费下载
    发表于 10-28 09:43 ?2次下载
    Quantum<b class='flag-5'>项目</b>中替换<b class='flag-5'>树莓</b><b class='flag-5'>派</b>

    一篇文章学会数据备份利器rsync

    在Linux系统下数据备份的工具很多,但阿铭只用一种,那就是rsync,从字面意思上可以理解为remote sync(远程同步)。rsync不仅可以远程同步
    的头像 发表于 01-04 14:38 ?902次阅读

    树莓家庭自动化开源

    电子发烧友网站提供《树莓家庭自动化开源.zip》资料免费下载
    发表于 06-20 10:57 ?0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>家庭<b class='flag-5'>自动化</b>开源

    等待已久,新品上市 | RevPi Connect 4系列:基于树莓CM4计算模块的全新工业树莓

    虹科工业树莓新品重磅来袭!虹科RevPi Connect 4采用最新树莓CM4计算模块,全面升级,性能跃升,为工业自动化提供最新解决方案
    的头像 发表于 08-01 11:42 ?1193次阅读
    等待已久,新品上市 | RevPi Connect 4系列:基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4计算模块的全新工业<b class='flag-5'>树莓</b><b class='flag-5'>派</b>

    树莓PLC:让工业自动化进入DIY时代!

    PLC和树莓简介可编程逻辑控制器(PLC)是一种专为各种行业的流程自动化和机械控制而设计的工业计算机。PLC以其高可靠性、坚固耐用性著称,能够处理诸如管理传送带、监控传感器或操作机器人系统等任务
    的头像 发表于 04-11 15:32 ?704次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>PLC:让工业<b class='flag-5'>自动化</b>进入DIY时代!

    树莓也能实现海上自动化驾驶?

    全员登船,共赴树莓之旅生活中有些问题,用树莓派来解决会更有乐趣。今天,我们要与航海爱好者们分享一个由创客TommyJoad打造的巧妙项目。Joad是一位帆船船长,对现代
    的头像 发表于 04-24 16:04 ?309次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>也能实现海上<b class='flag-5'>自动化</b>驾驶?

    树莓“吉尼斯世界记录”:将树莓的性能发挥到极致的项目

    完成的许多酷炫项目。这就引出了一个问题——该如何将树莓的性能推向极限呢?历经13年的项目实践和树莓
    的头像 发表于 05-22 16:53 ?724次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“吉尼斯世界记录”:将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的性能发挥到极致的<b class='flag-5'>项目</b>!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    树莓是一款小巧便携的USB供电计算机,可以隐藏起来用于小型项目,如网络服务器或家庭自动化。通常,设置树莓
    的头像 发表于 06-26 15:41 ?411次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?