树莓派开发从零开始学:超好玩的智能小硬件制作书
上QQ阅读APP看书,第一时间看更新

2.4.1 tar备份还原

1.tar备份系统

首先来看下tar命令的作用,如图2-39所示。

图2-39 man tar

tar是一个打包程序。有点类似于Windows下的Winrar。但它没有压缩功能,如果需要压缩,还得配合gzip一起使用。

tar的参数有很多。常用的几个参数如下。

● -c:建立一个压缩文件的参数指令(create的意思)。

● -x:解开一个压缩文件的参数指令。

● -t:查看tarfile里面的文件。

注意

在参数的下达中,c/x/t仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

● -z:gzip压缩/解压缩。

● -j:bzip2压缩/解压缩。

● -v:压缩的过程中显示文件。

● -f:使用文件名,请留意,在f之后要立即接文件名,不要再加参数。例如使用tar -zcvfP tfile sfile就是错误的写法,要写成tar -zcvPf tfile sfile才对。

● -g:增量备份

● -p:保留原文件的原来属性。

● -P:可以使用绝对路径来压缩。

● -N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中。

● --exclude FILE:在压缩的过程中,不要将FILE打包。

好了,下面正式开始备份步骤。

(1)查看需要备份的目录

使用Putty登录Raspberry后执行命令:

    ls /

查看Raspberry的根目录,如图2-40所示。

图2-40 根目录

并不是整个系统都需要备份的,有些目录完全可以略过。

● lost+found:存放修复或损坏的文件的目录,一般情况下里面没有东西。

● mnt:一般用来挂载硬盘优盘的目录。

● proc:目录文件,只存在内存当中,而不占用外存空间。

● sys:内核信息映射。

● media:一般用来挂载光盘。

● tmp:临时文件。

也就是说以上的几个目录是可以不打包的。

(2)进入备份目录,开始备份

原理弄清楚了,下面执行命令:

    cd /tmp
    tar zcvpf pi_20150718.tar.gz –exclude=/lost+found –exclude=/mnt –exclude=/sys –exclude=/proc –exclude=/media –exclude=/tmp /

第一条命令是进入/tmp备份目录下。第二条命令作用是,除了以上几个文件夹外,使用gzip压缩,打包整个系统。压缩文件名为pi_20150718.tar.gz。

等命令执行完毕后,找个大容量的优盘挂载到pi上,将pi_20150718.tar.gz转移到优盘保存,或者利用scp命令将该备份文件转移到其他PC上。

注意

使用tar备份,可以直接在Raspberry上执行。也就是说在本机来备份本机,有点类似于GHOST的备份。刚才的例子里,我是在/tmp目录下进行备份的,优点就是速度快,毕竟只需要在硬盘上读取。缺点是在这里备份的前提条件是/tmp目录下有足够的空间。如果没有,那就找块大容量的移动硬盘或者是优盘,把它挂载到/mnt目录上,再进入/mnt目录来备份整个系统。这样就涉及USB的传输速度什么的了,速度就差了一点点。

2.tar还原系统

tar还原就简单多了。将备份文件pi_20150718.tar.gz拷贝到/tmp下,执行命令:

    tar zxvpf pi_20150718.tar.gz –C /

好了,现在系统已经恢复到备份时一样了。