> Linux教程 > 系统运维 >

备份与恢复Linux系统

这次还是说一下Linux的备份和恢复问题,其实所谓难者不会,会者不难。很简单,但是还是有读者说比较复杂,那就按照下面的步骤做下去就可以了。

Linux是一个开放的系统,个人感觉比Windows好多了,主要就是开放,它赋予了root用户很大的权利,几乎可以操作所有的Linux里面的东西,因而这样就可以简单的备份整个系统了,不至于像Windows一样,限制死用户的权限。

备份:

具体说来要这样做:

首先是要用root用户,必须的,然后是到/目录下,就是根目录下,然后就可以使用下面给出的命令一键备份了,easy:

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found--exclude=/backup.tgz --
exclude=/mnt--exclude=/sys

这里稍微介绍一下代码,应该都认识的吧:

tar是Linux下的打包命令,就是类似于压缩的打包,加上参数‘cvpfz’用于表示创建一个打包文件,并且具有保存权限,后面的z表示使用gzip压缩,f参数后面就是街上名称了,这里的就是backup.tgz了。

后面加上的就是备份的目录,这里要备份所有的文件,自然就是根目录了:/。后面--exclude很明白吧,就是要排除的目录,这些目录下的文件我们不想备份,因为没有什么用,或者很大很大,严重影响备份的速度。当然了,不要笨到把自己想要备份的文件也排除了,那样结果会很怪异的。这里提醒一下,如果不想备份/mnt下,那就把它排除把,还有就是/media目录了,不要挂载东西,不然一起备份了,还是比较厉害的一个命令了。

可能在备份的最后会有一条信息,就是提示tar命令由于先前错误的耽搁存在错误之类的,不过这个不要紧,直接pass。

除此之外,还可以选择拥有较高压缩比率的Bzip来压缩文件,高压缩比意味着低压缩速度,那就需要很长的时间了,如果不是很着急,那就可以用下面的命令来做,其实也没什么,就是把上面的命令中的z参数替换成j参数,就可以了,这样的话命令就会变成这样:

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found--exclude=/backup.tgz --
exclude=/mnt--exclude=/sys

恢复:

如果哪一天很不幸你的数据被毁掉了,你应该感到庆幸,因为你曾经备份过系统,但愿这个备份的时间不要太久了。废话不多说,下面就是恢复。

我们已经将系统整个备份到了backup.tgz文件了

下面还是要确定你就是根用户,这样才能顺利进行,不然又得纠结的。

确定所拥有的备份文件在根目录下。这是必须的,不然会有意想不到的错误,你可以想象恢复到一般的时候恢复文件把自己给覆盖了的情况。

接下来我还是宣扬一下Linux的好处,就是不需要用光盘引导之类的,因为你就在操作的最底层,无需再次关开机什么的,额,这里除去你的系统已经被你搞得连shell都看不见了,还是老实点的引导吧,我们可以再Linux运行的时候还原文件,并且移除所有的其他文件,这是危险的。下面还是正题:

使用这个命令即可:

tar xvpfz backup.tgz -C /

如果使用了bz2:,就是用下面的命令:

tar xvpfj backup.tar.bz2 -C /

这回把分区里所有相同的文件用压缩文件里的文件代替,所有要三思而后行,除非你的系统的确需要还原。

下面的命令用于重新创建被排除的目录:

mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
  • /proc 权限:文件所有者:root群组:root所有者:读取 执行 群组:读取 执行 其它:读取 执行
  • /lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /mnt 权限:文件所有者:root群组:root所有者:读取 写入 执行 群组:读取 执行其它:读取 执行
  • /sys 权限:文件所有者:root群组:root所有者:读取 写入 执行 群组:读取 执行其它:读取 执行

要是有兴趣可以写一个shell脚本一键执行,我下次写出来吧。

(责任编辑:IT)