刚刚重新安装系统,这次决定备份一些重要的目录。以前一直知道tar命令是这方面的高手,但是到底要怎么备份?并没有系统的研究过,所以刚才的实践,总结了经验,放出来和大家分享。



tar 命令是非常强大的,它在很多情况下可以备份整个系统,然后你可以通过一张live cd还原它,也可一通过已经安装好的系统,对自身进行覆盖回复,如果你有什么需要备份的东西,当然最好不是小东西,你可以试试下面的方法。



第一部分 备份



首先 我们需要在/目录下重建一个压缩文件,为什么要在/下面创建呢?就是因为不能让我们把这个压缩文件自己压缩的自己的里面,比如说压缩文件位于/home /dongmh,而我偏偏备份的就是这个home文件夹,那么会怎么样?大家可以自己作个实验,我这里自己创建了一个test文件夹,然后在cd到这个文 件夹里面,然后输入命令如下:

代码:
tar cvpzf backup.tgz ../



这个命令就是说在test这个文件夹下面创建一个压缩文件,而文件内部打包的就是这个test的父级目录,这个时候我的执行结果是产生的压缩包的test文件夹里面又有一个backup.tgz,它有160k大,试图打开它会有如下的错误:

引用:
gzip: stdin: unexpected end of file

tar: 归档文件中异常的 EOF

tar: 错误不可恢复:现在退出



那么回到我们的备份,首先我们需要root权限:

代码:
sudo -s -H



然后我们到/目录下:

代码:
cd /



接着我们开始重要的备份:

代码:
tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /



这个命令就是整个备份的核心,它表示在当前目录创建一个不包含/proc /lost+found /backup.tgz /sys的压缩包,而压缩的对象就是/目录。

在这个目录的参数里面

c表示创建 v表示详细信息 z表示用gzip压缩 f表示使用档案文件或设备 p表示保持一切相同

当然我们也可以使用Bzip2进行压缩,它会产生更小的压缩包,但是会有更慢的速度,这一切取决与你的处理器的性能。使用它的方法是把z换成j

代码:
tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /





第二部分 还原

这一部分一定要小心,如果你不确新你在作什么你最好不要进行覆盖操作,一定要小心。

还原的过程是很简单的,命令如下:

代码:
tar xcpfz backup.tgz -C /



如果使用Bzip2压缩的话,就用命令如下:

代码:
tar xvpfj backup.tar.bz2 -C /





第三部分 结语

也许你不是为了重装后方便使用,只是想在别的电脑上搞定一个和原先电脑一模一样的ubuntu,那么好这个方法也适合你,你只需要针对硬盘分区的不同改改/etc/fstab,其他的方面都是问题不大的,祝各位好运。