[问题]请备份系统高手关注,请教用tar备份分区,来备份恢复系统的问题?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
ffsxsy
帖子: 779
注册时间: 2007-11-04 16:32

[问题]请备份系统高手关注,请教用tar备份分区,来备份恢复系统的问题?

#1

帖子 ffsxsy » 2008-08-18 22:50

我的系统有/和/home两个物理分区,由于厌烦了经常重装系统,打算换一种思路,备份跟分区的主要分区到home分区,以后直接还原这些分区————————————————要求不高,只恢复到系统安装时即可!
1,都要备份那些分区呢?
usr,etc?不知到var里边除了下载的文件还有其他什么东西?
bin分区不需要吧?使用中应该不会在原来的基础上增加什么核心程序吧?
boot用不到吧?
lib,dev不会影响到重装吧?
听说proc就是内存的映像?
2,比如我只备份了usr,etc,到时候还原这两个分区,而其他分区不变,系统能不能用?
我只要求可以像新系统一样用,多一些没用的文件不在话!

3,请高手提供一组命令,备份压缩需要的分区到home/~,和相应的还原命令!




wo是不啊是把问题想简单了????
检查了一下分区,就是把usr,var,sys,boot,bin,sbin,lib,etc,全部备份我也可以承受,全部4.4g,压缩可一道多少?
不知道里边哪个绝对是多余的?
我知道备份不成问题,但是在还原的时候,想正在使用的,boot,etc等可以被替换吗?
amd x2 250
amd 785g主板
2g ddr3 1333内存
头像
ffsxsy
帖子: 779
注册时间: 2007-11-04 16:32

#2

帖子 ffsxsy » 2008-08-19 21:24

:arrow: :arrow: :arrow: :arrow:
amd x2 250
amd 785g主板
2g ddr3 1333内存
hnbipd
帖子: 3
注册时间: 2008-08-02 23:46

#3

帖子 hnbipd » 2008-08-20 19:50

我是用GHOST11.0来克隆备份ubuntu的。启动GHOST,选中要备份的硬盘,选中要备份的分区(这个一定要分清楚,我是克隆ext3的根分区)来克隆。如果在使用ubuntu没有原来的好用时,就可以把克隆的还原回去就好啦
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#4

帖子 yaska » 2008-08-20 20:33

我刚试了,备份可以在正在使用的系统做,还原没有测试(系统正在用,不敢试),我还原都是livecd 或者liveusb中做的。

备份,你的HOME是单独分区,而且空间够大:

代码: 全选

cd ~
sudo  tar  cjvf  backup.tar.bz2  /bin  /boot  /dev  /etc  /lib  /root  /sbin  /usr   /var  /opt 
跳过

代码: 全选

/home  /lost+found   /media   /mnt   /proc  /srv  /sys  /tmp
还原:
1. 用livecd或者liveusb启动, 删掉原系统/ 所在的分区, 然后把backup.tar.bz2解压到那个分区,再手动建跳过的那些目录,
2. 修改/etc/fstab,根据你的情况,应该把/home加上,当然还有其他分区的挂载。

PS:备份还原,建议在livecd 或者liveusb中操作, 不然可能会遇到莫名其妙的问题。
上次由 yaska 在 2008-08-20 22:06,总共编辑 1 次。
头像
ffsxsy
帖子: 779
注册时间: 2007-11-04 16:32

#5

帖子 ffsxsy » 2008-08-20 21:41

删掉/分区, 把backup.tar.bz2解压到根分区,然后手动建跳过的那些目录,
2. 修改/etc/fstab,根据你的情况,应该把/home加上,当然还有其他分区的挂载。
,
这个怎末做?
amd x2 250
amd 785g主板
2g ddr3 1333内存
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#6

帖子 yaska » 2008-08-20 21:52

ffsxsy 写了:
删掉/分区, 把backup.tar.bz2解压到根分区,然后手动建跳过的那些目录,
2. 修改/etc/fstab,根据你的情况,应该把/home加上,当然还有其他分区的挂载。
,
这个怎末做?
tar解压,你会吧。

修改fstab,不会的话,你先google,因为一两句话说不清楚。
头像
ffsxsy
帖子: 779
注册时间: 2007-11-04 16:32

#7

帖子 ffsxsy » 2008-08-20 21:56

因为我没有试过在livecd下操作,对分区结构不清楚,,你怎末可以删掉跟分区?在吧文件复制到跟分区?了能不能提供一个命令参考一下?
修改fstab倒是经常做。
amd x2 250
amd 785g主板
2g ddr3 1333内存
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#8

帖子 yaska » 2008-08-20 22:06

ffsxsy 写了:因为我没有试过在livecd下操作,对分区结构不清楚,,你怎末可以删掉跟分区?在吧文件复制到跟分区?了能不能提供一个命令参考一下?
修改fstab倒是经常做。
删掉原系统 / 所在的分区, 然后把backup.tar.bz2解压到那个分区,再手动建跳过的那些目录....

对分区结构不清楚,我建议还是先别做这些操作。
头像
neosnake
帖子: 169
注册时间: 2007-01-14 13:17

#9

帖子 neosnake » 2008-08-20 22:48

用tar备份还原都可以在正在运行的系统中做。我是直接先备份到本地,再考到移动硬盘,你也可以直接备份到移动硬盘,自己把目标文件的位置改成你的移动硬盘(或任何备份介质),记住要在后面把目标文件exclude掉。
转我自己blog里的记录:

http://navarro.blogbus.com/logs/23934585.html

++++++++++++++++++++++++++++++
有备无患,Linux不需要Ghost那样的工具,一个古老的tar命令解决一切,最爽的是你的备份和恢复过程可以在一个正在运行的系统上进行,这就意味着不需要关机重启,不需要光盘引导运行一些奇怪的工具(当然除非系统已经无法引导,这个时候就需要一张liveCD),你可以一边开着编辑器做自己的事一边备份或还原。

备份我的系统的过程

先建立一个存放备份文件的目录,当然可以直接放/下面,不过我还是单独建了一个目录,这样比较有利于备份的时候排除这些备份文件。

cd /

sudo mkdir /backup

注意备份前记得卸载那些外接的存储设备,比如移动硬盘,u盘之类。当然如果你要直接往移动硬盘上备份,不卸载也可以,但是要在备份时候排除。

备份系统
sudo tar -cvpzf /backup/backup-21Jul08.tgz / --exclude=/proc --exclude=/lost+found --exclude=/home/raven/DonkeyDown --exclude=/home/raven/Downloads --exclude=/home/raven/.aMule --exclude=/media --exclude=/mnt --exclude=/sys --exclude=/backup --exclude=/home/raven/.VirtualBox/VDI/winxp.vdi --exclude=/home/raven/.VirtualBox/VDI/Vista.vdi --exclude=/home/raven/Music --exclude=/home/raven/vboxshare --exclude=/home/raven/Books --exclude=/home/raven/Images

讲一下tar命令的问题

参数: c表示创建文件, v备份的时候在终端上输出信息,p保留文件系统的权限,z使用gzip压缩(可以换用j,使用bz2压缩,但会慢点),f指定文件(这里是要创建的备份文件名字)。

这里tar -cvpzf /backup/backup-070108.tgz / 最后这个/表示要被备份的目录(我备份整个系统,所以用/)。

后面的 --exclude=/proc 之类的,是需要排除的目标,一般来说以下这些目录是要排除的

/proc, /lost+found , /media, /mnt, /sys, 还有你备份文件放置的目录 /backup(或者直接排除你的备份文件)

其他任何不想备份的位置,都可以加到后面,比如存放电影音乐,虚拟机的虚拟磁盘的位置等等。

备份执行到最后完成时,可能会遇到一个提示:tar:由于先前错误的耽搁而存在错误 之类的。可以忽略不计,不用担心。

最后会产生一个备份文件,压缩比很高的哦!

好,现在来看如何还原,还是tar:

cd /

tar -xvpzf /backup/backup-070108.tgz -C /

参数 x 表示extract释放,最后的 -C / 表示解压到/。

到此为止,系统就被还原到备份的时候了。
++++++++++++++++++++++++++++++++++[/url]
Win7+ Ubuntu
头像
ffsxsy
帖子: 779
注册时间: 2007-11-04 16:32

#10

帖子 ffsxsy » 2008-08-24 10:47

zai红联看到这篇文章,http://www.linuxdiyf.com/viewarticle.php?id=104895

大虾看看有什么危险吗
Linux系统的备份
作者: mconela 发布日期: 2008-8-24 查看数: 20 出自: http://www.linuxdiyf.com
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
等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!
最后便创建的文件夹,proc等,空文件夹就行吗?
amd x2 250
amd 785g主板
2g ddr3 1333内存
shermy
帖子: 8
注册时间: 2008-07-28 13:01

#11

帖子 shermy » 2008-08-25 0:47

tar命令我是看懂了,同LZ问,备份到/home/xxx/下,恢复时不移到根目录下没有关系吧,请大侠指教~
回复