功能
好不容易把一个系统弄成自己想要的样子了,想要克隆到另一张SD卡,或者备份保存,下次直接恢复到SD卡,所以需要一个一键备份脚本,将自己的系统备份成文件,下次轻松还原。
可以使用dd命令或者win32disk直接将储存卡内容保存成文件,但是缺点就是保存出来的镜像非常大,即储存卡的容量大小。所以需要一个方法让备份的系统文件最小化。
脚本实现一键备份储存卡的系统到img镜像,而且镜像很小(足够装下系统内容即可,不像使用dd命令或者win32disk进行块拷贝,镜像大小同储存卡大小一样.)
- 下载脚本
- 修改脚本TODO部分,即储存卡的设备号,设备号用
df -h
或者sudo fdisk -l
查看
比如插入读卡器后,我的电脑上储存卡设备是/dev/sdc
又比如直接在树莓派上备份,分别是/dev/root
和/dev/mmcblk0p1
(在树莓派上备份镜像要注意储存卡剩余空间要大于已用空间)
######################################################
################## TODO: settings#####################
src_root_device=/dev/sdc2 #/dev/root
src_boot_device=/dev/sdc1 #/dev/mmcblk0p1
######################################################
- 然后保证能连接网络的情况下执行脚本
chmod +x backup_system.sh
./backup_system.sh
脚本做的事情就是下载
dosfstools dump parted kpartx
这几个软件,然后利用这几个软件来进行备份,可放心使用
等待生成backup.img,可以使用
xz -zkv backup.img
打包后保存备用
- 需要还原时,使用
sudo dd if=backup.img of=/dev/sd*
- 还原后根目录
/
空间比较小,可能需要扩展分区大小
可以使用linux下的图形工具gparted
(推荐),或者直接用命令行工具resize2fs