Ubuntu 系统备份 恢复

    今天发了一下心,决定给系统备份下。搜索下两篇有用的博文,其中第二篇的作者还是挺辛苦的额,哈哈,特转一下备以记录。

   

第一篇转自:http://www.cnblogs.com/samael/articles/2033568.html

在 使用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=/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来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用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
等等

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


第二篇转自:http://hi.baidu.com/tenzy/item/2d79a1d9de90ed52d73aae76

习惯了瘟都死的ghost备份,想把ubuntu也备份下来,在网上苦苦寻找方法,无奈一个个贴子都是转摘的,十个得九个半是一样的(光“警告: 求您了,看在上帝的份上,千万小心这儿……”这句话得看到过不下十遍了,现在看到它就恶心),都不是自己亲身体验的,就算自己做成功的,也没看到拿出来分享的,所以只能自己摸黑闯了,侥幸成功,现写下过程以给新手作参考,里面可能有不足或错误,新手学习,老手指教。

1.先尝试了网上的tar的方法:
备份:
sudo su(输入密码)
cd /
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys

然后会在 / 下生成一个backup.tgz,这个就是备份文件,类似于用ghost生成的gho文件。如果想还原,用以下命令:
sudo su
tar xvpfz backup.tgz -C /

之所以要sudo su,是因为备份后可以把备份文件mv或cp到别的位置,例如我用 mv backup.tgz /home/mxh/ 把它移动到家目录,这个是个人选择,不移动也可,但是恢复的时候一定要确保backup.tgz在 / 目录里,也就是说,如果你移出去了,恢复的时候还得复制/移动过来。

总结:用此方法好处在于在ubuntu运行时就可以进行备份还原,方便快捷。但是我发现,这种方法只是恢
复备份时的文件,就是说如果某些文件丢失或损坏了,这样可以恢复修复这些文件,但不能删除自备份到
恢复前这期间所生成的其它文件,说白了就是假如你备份系统时有1234这四个文件,如果三天后,由于某
些原因变成了1234'5(4改变了),你恢复后,就会变成12345,其中4'恢复成备份时的文件,5保留。
这样说应该够明白了。

于是继续探索,因为我想做到ghost的效果,所以在网上寻找其它方法。后来发现了ubuntu-cloner 3.6.1

2.cloner 3.6.1是图形界面的,所以比较直观,打开后有备份、恢复、克隆三个选项这里我只用到了备
份、恢复两个功能,什么是克隆,我没搞懂,虽然帮助文档里说如果不知道什么是克隆,看“什么是克隆
”文件夹里的图片,可是我看完后更不明白什么是克隆了……所以扔下不用了。

首先备份:
备份模式有tar不压缩和squashfs压缩两种,我是选择的tar不压缩,这个自行决定,然后点下备份文件后
面的浏览按钮,在蹦出的窗口中自己起个备份名称,这里我要说明的是,选择保存文件夹时最好是选择别
的分区,因为我这是双系统,所以有xp系统下的ntfs分区可选,如果是全盘安装的ubuntu,那就先随便找
个目录好了,但是——两种情况我得说明:
1)、如果你只想备份系统,那么你要在排除目录里增加上home目录,这样恢复时就只需要格式化 / 所挂
载的分区了,这样还能把备份文件放在home目录里。这种情况对于全盘安装ubuntu的比较有利。
2)、如果你想都备份,包括家目录,那么你就不要更改“排除目录”,如果是这种情况,最好是安装的双
系统,这样你的备份文件可以放到windows下的分区里,因为恢复时 / 所加载的分区和home所加载的分区
都是要被格式化的。如果你是全盘安装的系统,哎呀,那可有点不太好办了,准备个U盘吧。
下一步,点开始备份,就会再次蹦出个窗口,类似于终端,上面还有个确认备份窗口,点是,开始,一段
时间后,备份完成,在你所选择的目录里就能找到备份文件了。

恢复:恢复可没备份这么简单,反正是累得我够呛
用ubuntu安装盘启动电脑,选择好语言后再选择第一项,什么试用ubuntu而不安装的那项,然后等个三五
分钟,就能进入系统了,进入后,选择“系统——管理——磁盘实用程序” 打开后,选择左侧的***GB硬
盘,然后(以下内容就只是对我自己做的了,并不适合每个人)点 / 所挂载的分区选择右下角的格式化
为ext4、选择交换空间所在的分区格式化为ext4(这步需不需要不清楚,我是做了)、选择home所挂载的分
区格式化为ext4,好了,完成后进行下一步,打开(也就是挂载)xp下的ntfs分区,打开复制过去的
cloner,切换到恢复,开始恢复:恢复模式,备份的什么模式就选什么模式,这个自然;备份文件,打开
备份文件(备份时我就选择了存放在这个分区),然后下面点刷新分区列表(否则它前面的箭头可能呈灰
色而不能用),这里说明一点,不管你把备份文件放在哪个分区了,进入系统之后都要先打开,也就是挂
载一下这个分区,然后在恢复时的选择窗口里才能看到这个分区。好了,后面要做的就如图了:
这里, / /home swap 一定要选对,记清原来的挂载情况(我就因为没选对导致home目录没恢复从而导致
进入系统后提示没有home而失败)。其它下面的“grub安装至”一定要选/dev/sda 如果你的硬盘是并口
硬盘就是/dev/hda(反正我选了/dev/sda*恢复后直接没能进入系统)。

如果你是全盘安装的ubuntu,或者没有xp下的分区,或者没有没被挂载的分区,或者想全部恢复,就是说
,你除了/ 和home就没别的地方放备份文件并且你是全部恢复,那么你得用一个U盘,把备份文件放在U盘
里,并在启动光盘试用ubuntu前接上U盘,然后恢复时选择U盘里的备份文件即可。

总结:这种备份恢复方法比起前一种来要麻烦得多,特别是恢复时,还得用光盘还得格式化,但是这样恢
复后的结果和ghost是一样的,除了备份时的文件,其它的全部消失!所以这一点你也要注意。最后,由
于备份时排除了几个目录,所以恢复后去看一下排除的那几个目录是否自动生成了,如果没有就手动建立
,反正我进入系统后看到是自动生成了。

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章