树莓派创客:手把手教你玩转人工智能
上QQ阅读APP看书,第一时间看更新

2.5.1 备份整个文件系统

如果想要备份你的用户主文件夹,tar命令可以很轻松地完成这个任务。如果你想要备份的数据在不同的文件夹,比如/etc以及/var/www,那么最好的办法是备份整张SD卡。

首先,你需要创建一个与整张SD卡上的数据一样大的文件。在我们的机器上,这张8GB存储量的SD卡会生成一个大约2.5GB的镜像文件。回想一下前面是如何确定盘符的,然后使用相同的方法来确定SD卡的盘符(在笔者的机器上是/dev/sdb):

      $ dd bs=4M if=/dev/sdb | gzip > back-raspbian.img.gz

如果你觉得自己的硬盘空间可能不够,可以打开另一个终端,然后通过df命令来确认剩余的空间。若是检查出空间确实不够了,那么可以使用Ctrl+C结束当前的dd命令,然后使用rm命令删除已经生成的镜像文件。

现在我们已经备份好了所有的文件,如果你想要把备份后的压缩包恢复成原本的文件系统,可以输入以下命令:

      $ gzip -cd back-raspbian.img.gz | dd bs=4M of=/dev/sdb

注意,在上面的命令中,dd是需要root权限的,同时在/home/pi主文件夹外保存文件也是需要root权限的。

在树莓派上,sudo命令不需要你输入密码,看似很方便,但是会有安全性上的隐患。在其他的UNIX系统上,你可以输入“sudo –s”进入一个具有完全root权限的交互环境,然后输入“exit”退出这个环境。除此以外,如果你输入的命令是一长串的复合指令,只需要在头上加一个sudo就可以了:

      $ sudo bash -c "gzip -cd back-raspbian.img.gz | dd bs=4M
      of=/dev/sdb"