0%

树莓派系统备份

在玩树莓派的过程中难免会碰到如何高效的备份系统的问题。

由于树莓派用的是Linux系统,所以常见的有两种备份方式

  1. 基于文件的备份,比如tar,rsync
  2. 基于磁盘的备份,比如dd

这两种备份方式各有利弊:
基于文件的备份占用空间小,而且可以在系统在线时操作,比较方便,但是当要还原整个系统时就会比较麻烦(引导重建等等)。
基于磁盘的备份就比较简单粗暴了,直接克隆硬盘,恢复时直接还原映像文件就好了,但是由于是整盘备份,空间占用比较大。

我这里是采用的第二种备份方式,通过缩减分区大小,排除未使用空间来减小备份文件大小

具体步骤

首先需要将树莓派的SD取下,插入到一台Linux机器上。

使用Gparted缩小分区

这一步操作比较耗时,跟SD卡大小和速度有关,基本在几分钟到几十分钟不等。

-w761
-w764
-w760
-w756
-w764
-w708

挂载网络存储

如果不想把备份文件存到网络存储上,该步骤可以忽略

1
2
sudo  mount.cifs -o vers=2.0,user=${nas_user},password=${nas_password},uid=$(id -u),gid=$(id -g) \
//192.168.123.100/D-soft/ /mnt/

使用DD备份硬盘

1
sudo dd if=/dev/sda of=/mnt/backup.img bs=1M count=6000 status=progress

备份耗时跟SD卡大小和速度有关,基本在几分钟到几十分钟不等。

bs参数代表备份文件大小的单位,这里是1M

count代表有多少bs,也就是备份大小是count*bs=6000M
这个数值需要根据你磁盘使用空间来计算,取一个大于已使用空间的值就好了。

例如,我这个SD卡已使用的空间是 4M + 256M + 5.24GiB = 5625.76M,则备份大小取6000M

还原系统

还原系统和新安装系统是一样的,用官方的Raspberry Pi Imager还原备份镜像文件即可

还原完成之后,还需要使用Gparted将缩小的分区还原到原来的大小,耗时大概十几秒。

然后插卡开机即可