linux 系统 备份与恢复

在 使用linux之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和 备份Windows系统不同,如果你要备份linux系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost 这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会 丢失一些宝贵的数据。

1. 备份系统

我该如何备份我的linux系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:

$  su

然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):

# cd /

下面是我用来备份系统的完整命令:

在接触Linux的过程中,经常会导致Linux出现各种错误,可恢复的或者是不可恢复的(至少在目前的情况下),所以,对于我而言,Linux的备份和还原就尤为的重要。

备份

a)可以直接通过tar对整个文件系统('/‘)进行备份,但是有几点需要注意:

不能备份以下几个文件(目录)

1. 当前压缩文件

2. /proc文件夹

3. /lost+found文件夹

4. /mnt文件夹i.

5. /sys文件夹

6. /media文件夹

b)所以,命令为:

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

注意:p选项代表保存当前权限

 

还原

a) Linux可以再正在远行的系统中还原系统,如果当前启动无法启动,可以通过live cd来启动并执行恢复操作

b) 操作如下

tar xvpfz backup.tar.gz -C /

c) 需要额外创建目录(正在运行的系统不需要)

1. mkdir proc

2. mkdir lost+found

3. mkdir mnt

4. mkdir sys

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

 

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

 

备份在其他机器还原

如果备份系统想要恢复到其他机器上,确保系统版本及内核版本一致时可以使用以下命令,增加排除/dev、/etc/fstab、/boot这三个路径,命令如下

tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/dev --exclude=/etc/fstab --exclude=/boot  --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /

还原命令一样

tar xvpfz backup.tar.gz -C /

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

 

将备份文件加密

#加密-k 123456 密码  
tar -zcf - backup.tar.gz |openssl des3 -salt -k 123456 | dd of=test.des3

#解密 
dd if=test.des3 |openssl des3 -d -k 123456 | tar zxf -

 

  

posted @ 2019-08-10 17:41  记忆抹不去  阅读(11983)  评论(4编辑  收藏  举报