哎呀,这都2020年了,我还得照着17年的笨办法搞呀,网上一堆使用 dd 备份的,我想说是真羡慕,我32g卡不得有个32g 的 img?
最后,还是按这个旧文来了,那些写镜像做备份的,Linux 都用得那么炉火纯青(会 apt 三连招)了,还要借助其他操作系统的工具???
不过还没试过恢复,但是我觉得,应该直接恢复就好了,毕竟只有一个 sd 卡,一个分区,不行按最复杂的方式,也就只有那么点事儿,大多都是工具可以解决的。
只是这次发现多了一些,目录,比如/snap 我一直在想,这玩意儿是不是什么硬盘快照之类的,后来查了下,只是 Ubuntu 收下来的一个包管理器的一些缓存之类的,备份前,可以把它清理掉:
apt autoremove --purge snapd
然后备份即可,不过这次我多排除了一些东西。
#su root 账户来一个? sudo -s
#切换到最上层 cd /
#开始备份吧 sudo tar -cpzvf /mnt/WD/ubuntu_server_2020_4_buckup.tgz \ --exclude=/dev/* \ --exclude=/proc/* \ --exclude=/run/* \ --exclude=/lost+found/* \ --exclude=/media/* \ --exclude=/mnt/* \ --exclude=/var/log/* \ --exclude=/var/cache/apt/archives/* \ --exclude=/var/tmp/* \ --exclude=/tmp/* \ --exclude=/root/.cache \ /
其实 sys 也可以去掉,但是我看了下,似乎没必要,因为恢复也只会恢复到树莓派,干嘛为难自己。参考:鸟哥 Linux 基础备份要点
对了,如果备份时候出错了,在后面加上,方便查看报错信息。
> /dev/null
例:
sudo tar -cpzvf /mnt/WD/ubuntu_server_2020_4_buckup.tgz \ --exclude=/dev/* \ --exclude=/proc/* \ --exclude=/run/* \ --exclude=/lost+found/* \ --exclude=/media/* \ --exclude=/mnt/* \ --exclude=/var/log/* \ --exclude=/var/cache/apt/archives/* \ --exclude=/var/tmp/* \ --exclude=/tmp/* \ --exclude=/root/.cache \ / > /dev/null
如果有需要,还可以考虑下增量备份:Linux下Rsync和Tar增量备份梳理
此外,如果 zsh 不认 * 这个操作符,编辑下:
vi ~/.zshrc #加入 setopt no_nomatch source ~/.zshrc
以上,希望永远不会有用到备份那天。
tar 参数此处可查:Tar 详解
如果备份了几个 g 出现tar: Exiting with failure status due to previous errors,可以不用理会,因为系统盘备份就是这样,总有些无法被打包的东西,但实际上已经备份完了,可以用软件解包压缩包看大小,对比 du 命令的执行,会发现,需要的内容已经被备份。
查看根目录大小:
du -h --max-depth=1 /
最后的最后,我选择了增量备份,加上了 -g tarinfo 参数,看看效果:
以上。(噢,backup 写错了,但懒得重新截图了,将就看看)
本站由以下主机服务商提供服务支持:
0条评论