原文链接:https://shumeipai.nxez.com/2020/10/28/backup-the-raspberry-pi-system-as-an-img-file.html
只进行部分提取
最好的树莓派系统备份解决方案,解决了备份文件体积大,恢复也方便,这个脚本备份文件的体积为 已用空间×1.2,我的系统占用了不到 10G 的空间,备份文件大概是 11G 多一些,这相比于全盘备份的 128G 已经小太多了,在使用7z进行极限压缩后甚至只有 1.7G,进行日常归档备份完全可以接受。
该脚本进行系统恢复时也很方便,将 img 文件像安装系统一样刷入 tf卡 后对分区进行简单拓展后即可。接下来就来演示怎么使用该脚本进行备份。 备份演示
首先 clone 该脚本:
git clone https://github.com/nanhantianyi/rpi-backup.git && cd rpi-backup
然后要安装依赖项,这里我用的是 Manjaro-arm 系统。在 Manjaro 系统中该脚本无法自动安装依赖项,需要运行这行命令 sudo pacman -Sy && pacman -S dosfstools parted multipath-tools rsync 来安装依赖。 如果你是用 apt 进行安装软件的系统,可以跳过这一步,该脚本会自动安装依赖项。
然后运行
sudo ./back.sh youImageName.img
该脚本就会开始备份,如果不指定文件名则会自动命名。 如果你的内存卡剩余空间不够的话就挂载 U 盘,将 img 直接保存在 U 盘中,要注意U盘务必挂载到 /media 目录下,不要挂载到 /mnt,因为脚本会对 /mnt 目录进行备份操作,会导致递归性的备份,总之就是不要挂载到 /mnt 目录,切记!
脚本运行结束后就得到了备份镜像。 备份的恢复
备份镜像恢复可以直接用烧录软件直接烧录,这里我使用的是 Etcher,我也推荐大家使用这个软件,站内有这个软件的文章:使用 Etcher 给 SD 卡安装树莓派系统,界面简洁明了,选择镜像,选择要刷入的磁盘,Flash!
在烧录完毕后不要着急,我们还要一项操作没有做,打开 DiskGenius 后查看 tf 卡的分区可以看到有一部分空闲分区没有被分配。
这会导致进入系统后可用空间变少,在这里我直接用 DiskGenius 将空闲分区分配给 root 分区,这样不用在进入系统后做其他操作。 也可以进入系统后执行 git clone 来的 resize.sh 脚本进行扩容操作:sudo resize.sh,脚本运行完毕后会自动重启,两个步骤效果一样(但在部分系统会无法运行,还是推荐用 DiskGenius 弄好再开机)。
最后也不要忘了给该项目点一个 Star。