刚开始用linux操作系统时安装在VM中,做个快照,一出问题马上还原快照,在实际生产环境中,是不可能把linux安装在虚拟机中的,那么我们就需要学习备份!放个蛤蟆在上面哈哈。
先从最简单的来,我个人学习方法是在linux中的操作要像windows中一样。
一、先提供个工具G4L。下载地址:http://sourceforge.net/projects/g4l/
格式为ISO镜像文件,我们可以将他刻录在光盘上使用,这个实验在虚拟机中进行。
我们需要将Hard Disk(IDE)15G的母盘整盘拷贝到Hard Disk2(IDE)15G子盘中。

我们将g4l的ISO镜像挂载到虚拟机的光驱中,启动虚拟机,设置BIOS为光盘驱动,进入g4l的界面。这个版本不同,也可能有些差别。

选择载入的镜像,我们选择默认的bzImage6.

各种版权信息我们一路exit,直到

输入命令./g4l进入g4l的软件工作界面

进入主目录,我们选择第一项:

在RAW模式下,我们选择克隆功能

我们选择母盘,这里一定要看好,一定要注意,否则刻反了就啥也没有了......



然后选择目标子盘

选择进行克隆

然后有个确认信息,确认就可以
克隆时像这样:

克隆完成后,就可以将母盘撤下,启动子盘查看是否成功!
当然,我们也可以选择网络克隆,多用于局域网中使用

这里就得选择network use

下面介绍第二种方法,是linux自带的方法使用dd命令
使用dd/dev/hdb下的数据备份到/dev/hdc

这里我们指定bs的大小,默认为512K
然后等待数分钟直到备份完成。这是一个非常漫长的过程

如果系统遭到破坏,那么我们除了可以使用救援模式来修复,我们还可以使用dd命令将系统还原回来。


使用p_w_picpaths/boot.iso, 进入rescue模式,然后运行以下命令:

dd if=/dev/hdc of=/dev/hdb


这样,系统就恢复回来了,当然我们也可以设置硬盘启动为hdc,直接启动第二块硬盘上的系统

我们还可以参考 300second

大哥的帖子,linux下备份分区表和MBR:

http://bbs.51cto.com/thread-807988-1.html

第三种方法,恢复文件系统,非恢复整个系统
有时候,只是一个分区的损坏,那么我们没有必要去恢复整个系统。我们可以使用tar命令
tar的参数,我们引用
300second 大哥的解释
tar打包压缩
下面是tar 打包工具,这个就是备份用的了,用于在磁带机、软盘、ZIP设备上做备份。也可以备份在一个硬盘文件上。
主要参数:
c:将文件备份出来
v:将过程输出
x:从一个文件中解出备份
t:显示tar文件的内容
T:从指定的文件中读取文件
r:在tar文件尾部追加文件
z:用gzip压缩或解压文件
j:用bz2压缩或解压文件
f:使用tar文件而不是设备
p:在备份时压缩与解压时保持文件的权限

如我们需要将boot分区备份到root家目录
tar -cvzpf /root/boot.tar.gz /boot/*
这里一定要加p,保留权限,否则无法启动系统
下面我们做一些小的破坏!

重启
我们就发现系统无法使用了,这时我们进入救援模式,恢复boot下的文件,经过设置语言,键盘



我们进入Linux救援模式,救援模式详细实验,请参照
redking大哥的http://redking.blog.51cto.com/27212/119409学习。
那个,我接着写哈
将/root/boot.tar.gz解压回/boot下
tar -xvzf boot.tar.gz /boot
重启系统,如果重启系统后显示为booting from local disk,则需要进入救援模式修复grub
Linux下的备份与还原_第1张图片
然后重启系统,系统就可以启动起来了
我这个实验最开始是在虚拟机中进行的,删除/boot分区下所有文件后,系统居然还能起来!没办法换到物理机下就好了......所以学习嘛,你得有点奉献精神!

下面介绍最后一种我知道的方法
备份工具:dump,还原工具restore。
dump命令可以对磁盘设备或者目录做备份。dump备份磁盘设备时可以指定备份等级,等级0代表常规备份,等级1~等级9代表9个增量备份。增量备份文件必须是新文件,不可与常规备份共用备份文件。备份目录时不可以指定0以外的级别,所有的目录只能是常规备份,且备份目录操作不支持-u记录。

restore命令可以对磁盘设备或者目录进行还原操作。还原操作时必须指定还原文件,且执行restore命令时必须在需要还原的目录下进行。还原文件过程必须是先常规备份,再增量备份。


#dump [-Suvj] [-level] [-f 备份文件名] 待备份资料


-S
列出需要的备份设备空间


-u
将此次备份信息写入/etc/dumpdates


-v
显示备份过程


-j
调用bzip2进行压缩,默认压缩等级为2,可指定更高,最高为9


-level
备份等级,0~910个等级(增量备份)


-f
备份文件名称,可以是备份设备名

#dump -W

该命令根据/etc/dumpdates列出前系统中所有需要备份的磁盘备份情况

#dump -w

该命令根据/etc/dumpdates仅列出当前系统中需要备份的磁盘备份情况





#restore -t [-f
备份文件名]


查看备份文件的内容


#restore -C [-f
备份文件名] [-D 挂载点]


比较备份文件和当前系统挂载点的差异


#restore -r [-f
备份文件名]


从备份文件中还原整个文件系统


#restore -i [-f
备份文件名]


进入还原交互模式,在此模式下对目录进行还原操作

如果系统中没有这两个工具,则需要挂载光盘安装,安装方式可以选择rpm和Yum
下面将/boot分区备份

现在删除/boot下文件,重启进入救援模式进行恢复,恢复的时候要注意,一定要进入被还原目录或分区后在执行restore命令

重启系统
系统就可以启动起来了
备份目录
备份目录/boot/grub到/backup/目录下,备份的文件名为grub.dump
[root@example ~]# dump -0  -f /backup/grub.dump   /boot/grub
注意:由于备份子目录/boot/grub,所以不能使用-u参数,同时-level(备份级别:0-9)中,也只有-0能用在备份子目录
还原目录
[root@example ~]# restore -rf /backup/grub.dump   /boot/grub