搜索
bottom↓
回复: 14

树莓派备份,还原怎么操作比较好?

[复制链接]

出0入0汤圆

发表于 2019-8-10 20:25:35 | 显示全部楼层 |阅读模式

不像Linux通过光盘或者U盘安装,树莓派的安装,是通过rufus直接把img文件写入tf卡,以这种方式完成对系统安装。

之后的系统备份,只能通过dd命令来搞么?dd好像是基于扇区的备份和还原,很多不带数据的扇区也要读写一遍,这太伤tf卡了吧

是否有办法,只用dd写引导相关数据,其他文件相关数据,直接打包完成备份,解压完成还原,这样不必要的tf卡写入,可以减少很多吧

不仅备份还原速度加快,还能保护tf卡
但是具体怎么搞呢

出0入984汤圆

发表于 2019-8-10 20:30:28 | 显示全部楼层
make_ext4fs?

出0入0汤圆

 楼主| 发表于 2019-8-10 20:35:07 | 显示全部楼层

Win32DiskImager进行系统备份,应该和dd差不多。
tf卡32G,实际只用了5G,但是备份生成的文件会有32G,或者更大一些
https://www.ncnynl.com/archives/201607/232.html

优点,操作简单,备份和还原同一软件实现
缺点,占用空间太大,备份是整卡备份,得到的IMG是卡的大小,只能还原到原卡或大于原卡的卡。

出0入0汤圆

发表于 2019-8-11 11:20:39 | 显示全部楼层
树莓派本身有个SD备份的工具,是根据实际大小备份的。

出10入210汤圆

发表于 2019-8-11 12:20:08 来自手机 | 显示全部楼层
hyghyg1234 发表于 2019-8-11 11:20
树莓派本身有个SD备份的工具,是根据实际大小备份的。

弱弱问一句,可以用GHOST备份吗?

出0入0汤圆

发表于 2019-8-11 12:33:15 | 显示全部楼层
不要纠结这点,实际上ext4会写很多日志,supernode更是只有确定的位置会被反复写。所以说ext系列对flash不友好。
我现在用的自己编译的armbian用的btrfs做rootfs,用了subvolume。做快照很方便。
作为备份来说,dd是非常高效的。你可以指定写入的块大小,调整到合适的尺寸比如2M会获得较高的写入速度。反而写回文件这种方式是最浪费的,不仅慢而且有些块可能会被多次写入(比如inode的块)。
dd的缺点是文件系统大小必须一致,意味着剩余空间也会被读取写入,用dd方式之前最好缩减文件系统的大小。

对于btrfs,原生提供了btrfs send这样的命令来备份系统。

如果要保存一份rootfs(文件),可以用 mksquashfs创建一份只读的squashfs压缩文件系统(livecd就是这个格式),还原的时候用cp/rsync就行

出0入0汤圆

 楼主| 发表于 2019-8-11 13:37:02 | 显示全部楼层
Earthman 发表于 2019-8-11 12:33
不要纠结这点,实际上ext4会写很多日志,supernode更是只有确定的位置会被反复写。所以说ext系列对flash不 ...

32g tf卡,dd出来的镜像也是32g(除非之后再做压缩)?

出0入0汤圆

发表于 2019-8-11 13:49:55 | 显示全部楼层
meerlin 发表于 2019-8-11 13:37
32g tf卡,dd出来的镜像也是32g(除非之后再做压缩)?

先缩减ext4的大小,,再dd指定大小

出0入0汤圆

 楼主| 发表于 2019-8-11 16:49:35 | 显示全部楼层
Earthman 发表于 2019-8-11 13:49
先缩减ext4的大小,,再dd指定大小


怎么缩减大小?用resize2fs?
原来分区默认31G,resize2fs后,只用了3G,剩余的空间哪里去了?再建立一个新的分区么?

出0入0汤圆

发表于 2019-8-11 20:25:59 | 显示全部楼层
rainbow 发表于 2019-8-11 12:20
弱弱问一句,可以用GHOST备份吗?

貌似不可以,不太清楚没试过。

出0入0汤圆

发表于 2019-8-11 21:26:01 | 显示全部楼层
Windows 下的镜像备份/恢复软件都可以吧
我用 Macrium Reflect

出0入0汤圆

发表于 2019-8-12 13:34:35 | 显示全部楼层
rsync可以尝试下

出0入0汤圆

发表于 2019-8-12 14:25:47 | 显示全部楼层
目前也在纠结这个

出0入0汤圆

发表于 2019-8-12 14:53:09 | 显示全部楼层
Earthman 发表于 2019-8-11 13:49
先缩减ext4的大小,,再dd指定大小

请教下,我的打印出来如下,如何分区压缩?谢谢

Disk /dev/mmcblk0p1: 7767MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number  Start  End     Size    File system  Flags
1      0.00B  7767MB  7767MB  ext4

出0入0汤圆

发表于 2019-8-12 15:34:15 | 显示全部楼层
Shrinking ext4 partition on command line

缩减ext4需要解除挂载操作(btrfs相反需要挂载后操作)
用 resize2fs 缩减ext4文件系统大小
用parted重新分区
比较麻烦你还是直接rsync拷贝或者做squashfs再复制回来吧
记得用root权限操作。我犯过严重错误,没用root账户结果丢了MySQL的db文件。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 23:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表