抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

谈谈树莓派2B * 2的备份策略

哎呀,这都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 参数,看看效果:

以上。


0条评论

发表评论