文档章节

Ubuntu如何备份和恢复系统

WenFY
 WenFY
发布于 2015/03/06 17:46
字数 1394
阅读 440
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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

 

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

 

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

 

1. 备份系统

 

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

 

首先成为root用户:

 

$ sudo su

 

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

 

# cd /

 

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

 

#tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/media  --exclude=/home/oblivion --exclude=/sys /

 

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

 

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

 

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

 

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

 

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

 

在 档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

 

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

 

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

 

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

 

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

 

你还可以用Bzip2来压缩文件,Bzip2gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

 

# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

 

2. 恢复系统

 

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

 

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

 

Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

 

使用下面的命令来恢复系统:

 

# tar xvpfz backup.tgz -C /

 

如果你的档案文件是使用Bzip2压缩的,应该用:

 

# tar xvpfj backup.tar.bz2 -C /

 

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

 

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

 

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

 

# mkdir proc

 

# mkdir lost+found

 

# mkdir mnt

 

# mkdir sys

 

等等

 

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

 

 

 

 

 

 

 

 

WenFY
粉丝 1
博文 33
码字总数 12513
作品 0
成都
高级程序员
私信 提问
加载中
请先登录后再评论。
apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们

当我们在基于 Ubuntu/Debian 的系统上使用 ,包安装会变得更加容易。如果你需要在少量系统上安装相同的软件包时, 会适合你。 如果你想在每个系统上手动构建和安装必要的软件包,这是一个耗时...

作者: Magesh Maruthamuthu
2019/05/12
0
0
apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们

当我们在基于 Ubuntu/Debian 的系统上使用 ,包安装会变得更加容易。如果你需要在少量系统上安装相同的软件包时, 会适合你。 如果你想在每个系统上手动构建和安装必要的软件包,这是一个耗时...

作者: Magesh Maruthamuthu
2019/05/10
0
0
备份安装的包并在全新安装的 Ubuntu 上恢复它们

在多个 Ubuntu 系统上安装同一组软件包是一项耗时且无聊的任务。你不会想花时间在多个系统上反复安装相同的软件包。在类似架构的 Ubuntu 系统上安装软件包时,有许多方法可以使这项任务更容易...

34%
2018/10/02
0
0
apt-clone安装与使用

当我们在基于 Ubuntu/Debian 的系统上使用apt-clone ,包安装会变得更加容易。 如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你。 什么是 apt-clone? apt-clone 能让你为 De...

osc_ovsx5e3f
2019/05/15
1
0
apt-clone安装与使用

当我们在基于 Ubuntu/Debian 的系统上使用apt-clone ,包安装会变得更加容易。 如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你。 什么是 apt-clone? apt-clone 能让你为 De...

Linux就该这么学
2019/05/15
32
0

没有更多内容

加载失败,请刷新页面

加载更多

define()与const - define() vs. const

问题: In PHP, when do you use 在PHP中,何时使用 define('FOO', 1); and when do you use 以及何时使用 const FOO = 1; ? ? What are the main differences between those two? 两者之......

法国红酒甜
51分钟前
26
0
将Node.js升级到最新版本 - Upgrading Node.js to latest version

问题: So, I have Node.js installed and now when I tried to install Mongoosejs I got an error telling me that I don't have the needed version of Node.js (I have v0.4.11 and v0.4......

javail
今天
17
0
等到所有jQuery Ajax请求都完成了吗? - Wait until all jQuery Ajax requests are done?

问题: How do I make a function wait until all jQuery Ajax requests are done inside another function? 我如何让一个函数等到所有jQuery Ajax请求都在另一个函数中完成之后? In short...

富含淀粉
今天
17
0
OSChina 周日乱弹 —— 那么长的绳子,你这是放风筝呢

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 巴拉迪维:黑豹乐队的单曲《无地自容》 耳畔突然响起旋律,是那首老歌。中国摇滚有了《一无所有》不再一无所有;中国摇滚有了《无地自容》不...

小小编辑
今天
79
1
《吐血整理》-顶级程序员书单集

你知道的越多,你不知道的越多 给岁月以文明,而不是给文明以岁月 前言 王潇:格局决定了一个人的梦想,梦想反过来决定行为。 那格局是什么呢? 格局是你能够看见的深度、广度和密度。 王潇认...

敖丙
2019/12/11
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部