配色: 字号:
LINUX 24时学时教程—023
2012-03-09 | 阅:  转:  |  分享 
  
下载

第23学时备份和恢复系统

本学时教程继续介绍基本的系统管理技能,并教你使用几个Linux工具程序来备份和恢复

系统—当然你必须是根操作员。只需稍加练习,就可以轻易地执行这些系统管理任务了。

23.1备份或者恢复操作之前需要考虑的几个因素

在对系统进行备份或者恢复操作之前,有几个因素必须先考虑清楚。当然,进行备份操

作的一个最佳时机就是安装好Linux操作系统并确信所有的设备(比如声卡、图形卡、或者磁

带机等)都能够正常工作的时候,但还是有另外一些需要考虑的因素。举例来说,如果本书所

附的CD-ROM光盘提供的系统内核在系统上工作得很好,那么当你需要进行完全恢复的时候

只需把这张CD光盘当成最初始的一个备份也就可以了。

但是应该知道一个备份文件和一个档案文件之间是有区别的。备份是定期进行的操作,

用来保存重要的文档、文件、或者整个系统。而对文件归档则是为了长期保存重要的文档、

文件或者整个系统的而进行的操作。这就意味着必须首先设计出一个进行备份操作的策略并

问自己下面的几个问题:

?是否需要使用一个正规的备份操作策略?

?是否需要每次都对整个系统进行备份?

?是需要备份选定的文件呢,还是备份整个一个子目录?

?每隔多长时间需要进行一次备份?

?需要把归档的拷贝保存多长时间?

?是否需要关于备份操作过程的各种报告或者统计数据?

?应该使用那一种介质(比如软盘、磁带、或者可移动硬盘)?

?应该采用哪一种软件格式存放备份(比如tar或者dump命令的文档格式)?

?是否需要使用一些专业的软件工具,比如备份命令脚本程序等等;或者是否可以手动地

进行备份操作?

?是否需要使用压缩技术、直接拷贝、或者加密技术?

通过检查自己使用OpenLinux操作系统的方式,可以回答出上面这些问题中的一部分:如

果在Linux操作系统中只是进行文字处理或者运行电子表程序的话,可能只对某些特定的文件

或者子目录进行备份就已经足够了;如果通过Linux操作系统来学习编写计算机程序的话,那

么就需要保存程序的原始拷贝和这些程序的不同的改进版本;如果在这个计算机系统上还有

其他的用户,那么可能你不仅需要保存他们的子目录与文件,还要保存/etc/passwd文件、保

存文件系统中花费很长的时间才能建立的部分(比如整个/etc子目录)甚至需要保存整个系统。

这样做了之后,当出现硬盘崩溃(不容易发生)或者系统操作员失误(比较容易发生)等事件的时

候,就能够迅速地对系统进行恢复。

系统的规模和硬盘或者其他存储设备容量的大小可能是选择某种备份操作策略的决定因

素。如果整个Linux系统足够小(只有200MB左右)的话,就可以很快地把所有的东西都备份到

第23学时备份和恢复系统用用373下载

另外一个硬盘驱动器或者磁带机上去。还可以使用介质可更换式的设备,比如一个Iomega公

司出品的Zip驱动器或者是Syquest公司出品的EZ-flyer等等。如果只需要保存数量很少的小文

件,那么也许使用高密软盘就足够存储的了。

你很可能会决定采取这样一个策略:把定期进行的完全或者增量性备份与长期性的文件

归档操作相互结合使用。需要对用来完成这个任务所使用的软件进行选择并设计出怎样才能

使整个操作的过程能够最大限度地自动进行,也许还需要用到crontab数据项(请阅读第24学时

教程“使用任务计划实现系统管理自动化”中的学习内容)。不管是怎样考虑的,只要决定了

采取哪一种方法作为备份策略,就一定要坚持下去!当遇到了问题或者丢失了文件之后再想

到要去建立和使用备份策略,那个时候可就太晚了。

23.1.1配置BRU备份系统进行备份和恢复

可以通过浏览站点http://www.estinc.com免费下载一份由Enhanced软件科技公司出品的

BRU2000PE软件。。这是一个商业化的软件备份应用程序包的完整的个人版本,可以使用它

把系统或者文件备份到几乎任何类型的磁带机、活动硬盘甚至软盘上去。本小节将介绍如何

配置BRU2000PE软件并重点介绍这个软件的一些功能特点,比如数据校验、出错侦查、数

据压缩以及选择性备份和恢复等等。

包括在本书所附的CD-ROM光盘中的BRU2000PE软件与商业版本的

BRU2000软件是完全相同的,但是不能支持同样的功能(比如网络备份

等)。但是这个软件的个人用户版本对一个桌面OpenLinux系统的备份操

作来说是足够的了。

请使用lisa、rpm或者kpackage程序(请阅读第22学时教程“管理文件和文件系统”)安装

BRU软件。这个软件将安装在文件系统中的子目录/bru中。

可以从命令行或者在某个X11任务操作的过程中使用BRU软件。虽然在X环境下使用BRU

程序会比较容易一些,但是也可以从某个控制台的命令行上进行备份操作。BRU程序有将近

50个命令行参数,可以使用它们对备份过程进行各种设置。如果想从命令行运行BRU程序,

可以输入bru[options]。如果想启动X接口,请在一个X终端窗口中输入xbru。详细资料请阅读

BRU的使用手册页。

图23-1BRU2000备份和

恢复工具程序提供

了菜单和按钮来对

Linux系统的备份操

作进行管理

第一次运行BRU的时候,必须告诉BRU进行文件备份的时候需要使用哪一个设备。首先,

使用鼠标拉下“File”(文件)菜单,然后选择“ConfigureBRU”(配置BRU)菜单项。一个叫做

“BRUConfigurationUtility”(BRU配置工具)的窗口将会出现在屏幕上,如图23-2所示。

如果想配置BRU软件,必须以根操作员的身份来运行它。

在这个窗口中单击“Devices”(设备)按钮,然后再单击“New”(新建)按钮。屏幕上会出

现一个“NewDevice”(新建设备)窗口,窗口中滚行显示了各种设备的清单表,如图23-3所

示。

单击“New”(新建)按钮从BRU的内建清单中选定一个新设备,如图23-4所示。

374使用第五部分监管你的系统下载

图23-2“BRUConfiguration

Utility”(BRU配置工

具)提供了几个窗口,

其中包括一个是磁带

设备选择清单

图23-3可以建立新的设备

来使用BRU2000

PE软件

图23-4BRU程序在它的磁

带设备选择清单中

列出了37种不同的

设备

在清单中总共列出了37种不同的设备,包括软盘驱动器。如果在清单中没有找到所使用

的设备,请选择“OTHER”(其他)设备选项来创建自己专用的。举例来说,如果有一台老式

的基于软盘的使用QIC-80格式的磁带机,请选择“OTHER”(其他)然后再指定这个磁带设备

(一般是/dev/rft0,回绕磁带设备)。

如果想使用一台Zip驱动器作为备份设备,首先选择“OTHER”(其他)。当单击选择了对

话框中的“Device”(备份设备)之后,输入Zip驱动器的设备名(对一个并行口Zip驱动器来说

一般是/dev/sda4)。为了完成Zip备份设备的定义,在“DeviceName”(设备名)数据域中单击

鼠标,输入“ZipDisk”;再单击“Size”(容量)数据域,输入“100”(别忘记单击字母M把

容量设置为以兆字节为计算单位),如图23-5所示。

为了完成设备定义,在“BRUConfiguration”(BRU配置)窗口中的“File”(文件)菜单项

中单击“SaveandExit”(保存并退出)。如果想开始进行一次备份操作,请先在计算机的Zip

驱动器中插入一张Zip磁盘。

不必使用mount命令挂装这个Zip磁盘;BRU程序会自动地通过设备

/dev/sda4来使用这张盘。如果在启动一次备份操作之前没有事先插入一

张Zip磁盘的话,BRU程序会报告出错!

如果想开始进行一次备份,首先要在BRU程序的“File”(文件)菜单中单击选择“New

Device”(新建设备),然后从列出的设备清单中选择/dev/sda4,如图23-6所示。

从BRU程序的“File”(文件)菜单中选择“Backup”(备份),或者在BRU程序的主对话框

(如图23-1所示)中单击最顶上的图标(就是那个带着从硬盘到磁带的小箭头的图标)。

屏幕上会出现一个文件选择对话框,如图23-7所示。这个对话框可以让你选择需要备份

的所有文件或者子目录。完成选择和添加子目录或者文件之后,单击“Option”(选项)按钮可

以选择文件压缩或者其他的功能,或者直接单击“BeginBackup”(开始备份)按钮开始这次备

第23学时备份和恢复系统用用375下载

图23-5可以为一台Iomege

公司出品的Zip驱动

器备份设备建立

BRU程序中的设备

定义

图23-6在开始一次备份操

作之前,为Zip磁盘

选择一个备份设备,

比如/dev/sda4

份操作。BRU程序会要求你回答一个备份名称—也就是卷标,然后就开始备份数据了。如

果在备份的时候需要使用多个卷—也就是多个磁盘,程序会在需要的时候提示你插入它们。

BRU程序有许多种功能,包括文件压缩、按计划定时执行和磁带档案文件校验等等。可

以浏览下列的站点获取更多关于这个程序的信息:

http://www.estinc.com

23.1.2使用tar命令备份系统

虽然在第5学时教程“操作与搜索命令”中我们已经介绍过tar命令的使用方法;但是作为

系统管理员,在完善备份操作策略之前,应该更深入地学习一些tar命令的更加复杂的命令行

参数并进行一些建立备份文件的操作实践。

tar命令会生成一个磁带档案文件。可以把这个档案文件写到硬盘驱动器上、一台磁带机

上或者几乎其他任何Linux操作系统中的设备上。如果想对系统上所有用户的用户子目录home

做一个快速备份,可以象下面这样使用tar命令生成这个档案文件,如下所示:

#tarcPfCusers.tar/home

上面的命令行在当前子目录中生成一个磁带档案文件users.tar。为了节省硬盘空间,更好

的一个办法是在建立磁带档案文件的时候同时进行文件压缩。使用它的命令行参数z,tar命令

就可以支持gzip命令使用的压缩方法。只需要把字母z包括到建立磁带档案文件的命令中并给

磁带档案文件换个名字就可以了。如下所示:

#tarczPfCusers.tar.gz/home

对这些子目录进行周期性备份的一个简单的方法是把它们保存到另外一个不同的文件系

统中去。如果挂装有DOS或者Windows分区(请阅读第22学时教程),可以使用一个/etc/crontab

文件中的数据项来自动完成这个备份操作,如下所示:

3017roottarczPfC/mnt/dos/windows/desktop/users.tar.gz/home

只有根操作员才能建立和修改/etc/crontab文件中的数据项。

这个保存在/etc/crontab文件中的数据项将会在每天下午五点三十分的时候自动备份用户

们的子目录,然后把生成的档案文件保存到Windows的desktop文件夹中。正如你所看到的,

让备份操作自动进行并不困难,而且还有不再需要你操心的后台运行的优点;这种操作过程

376使用第五部分监管你的系统下载

图23-7BRU子目录和文件

选择对话框对需要

归档的子目录和文

件提供了选择性备

份功能

就叫做“无人值守”备份过程。如果把数据存放到另外一个文件系统中了,在试图恢复信息

之前一定要记得把那个驱动器挂装上。如果在进行备份的时候使用了文件压缩功能,当使用

tar命令的x文件释放参数把文件恢复回来的时候不要忘记加上z参数。如下所示:

#cd/

#tarxzvf/mnt/dos/windows/desktop/users.tar.gz

上面的命令行从/根目录开始恢复了用户们的子目录和文件。v参数在恢复操作进行的时候

把文件名列出来。虽然把文件备份到硬盘驱动器上另外一个文件去并不难,但是还是可以在

tar命令的命令行中指定磁带设备,这样tar命令就可以把备份写到磁带机上去。

不幸地是,Linux操作系统中没有对磁带进行格式化的工具软件。虽

然还是需要使用DOS或者Windows下的工具程序来完成磁带格式化这个工

作,但是如果买到的是预格式化好的磁带就不必格式化了。

本学时教程将不去讨论安装和使用不同的磁带设备的各种详细操作情况,在这里我将只

介绍最常见的方法和几个供你参考的例子。如果想在tar命令中使用磁带驱动器,就必须先在

/dev子目录中找到这个磁带设备。磁带设备有许多不同的类型,这里我将使用普通的软盘磁

带驱动器/dev/ftape做为一个示例。

大多数的磁带驱动器都能够自动回绕一个刚刚插入的磁带,但是也可以使用mt磁带命令

来确保回绕和重新绷紧磁带。插入磁带,然后输入下面的命令:

#mt-f/dev/ftaperewind

当磁带的回绕操作完成之后,使用mt命令的erase参数清洗其上原来的数据:

#mt-f/dev/ftapeerase

当对磁带的清洗操作完成之后,就可以通过指定/dev/ftape设备的方法在磁带上写一个tar

类型的档案文件了:

#cd/

#tarcf/dev/ftape/home

上面的命令建立了一个包含着/home目录下所有文件和子目录的磁带档案文件。如果想恢

复磁带档案文件,必须使用tar命令的x释放参数:

#cd/

#tarxf/dev/ftape

tar命令还有许多其他的参数。请自己深入了解其中的一些参数的使用方法,比如可以使

用d参数来测试档案文件等等。如果想了解详细的资料,请阅读tar命令的使用手册页和保存在

子目录/usr/doc/HOWTO中的关于ftape命令的HOWTO文件。

23.1.3使用cpio命令进行备份和恢复

cpio命令(拷贝输入输出命令)的使用方法与tar命令的大致相同,但是有几个区别,特别是

在建立和释放档案文件操作所使用的命令行参数方面。举例来说,如果想建立一个cpio文档,

必须要使用-o建档参数。cpio命令在建立档案文件的时候还需要有一个文件名清单,路径名必

须完整。因此,可以使用find命令很方便地建立这个必不可少的文件名清单。

举例来说,如果在一个名为x11的子目录中包含有一些想进行归档的文件,可以把find命

令的输出与cpio命令组合在一起来生成这个文档,如下所示:

第23学时备份和恢复系统用用377下载

上面的命令行显示cpio命令获得了x11子目录中的文件名,使用-o参数生成了档案文件,

并使用-v参数在对文件进行归档的同时显示了它们的文件名。最后得到的档案文件的名字是

x11.cpio,它是使用了大于号(>)重定向操作符建立的。

如果想恢复一个cpio文档,需要使用cpio命令的-i释放命令行参数:

#cpio-i
1082blocks

从上面的命令行可以看出,可以把小于号(<)重定向操作符与cpio命令的-i释放参数一起使

用来释放一个cpio文档。cpio程序会重新生成原来的子目录结构;当操作完成的时候,cpio命

令会显示一个数字,这个数字以512字节为单位表示它往硬盘上写了多少个字符块的内容。

还可以把find命令和cpio命令组合使用来建立任何一个子目录的档案文件,甚至还可以对

系统中不同子目录中的的文件也进行归档。如果想对子目录中所有属于你并且在当天建立的

或者是在当天修改过的那些文件进行备份,可以使用find命令的-user和-mtime命令行参数:

#find/home/bball-userbball-mtime-1-print||cpio-o>today.cpio

这个命令行将建立一个名为today.cpio的cpio档案文件,其中包括了所有在过去的24小时内修

改过的文件。在如何规划设计备份文件以及如何备份系统等方面,这些操作其实都可以随意地

发挥,它只受到自己的想象力的限制。如果想了解更多关于cpio命令的资料,请阅读它的使用手

册页。如果想了解更多关于find命令的资料,请阅读第5学时教程,或者阅读它的使用手册页。

23.1.4使用taper命令脚本程序进行磁带机备份和恢复

由YusafNagree编写的taper程序是一个用来对选定的文件或者子目录建立压缩或者非压缩

档案文件的备份与恢复程序。这个程序提供了良好的建立磁带档案文件并对之进行管理的界

面。也可以使用其他类型的存储介质进行备份。

taper命令使用起来很容易。使用-T介质参数就可以指定它使用的存储介质的类型。根据

最新的资料,taper命令支持下面列出的几种选项:

?ftape—包括在系统中的软盘驱动器磁带驱动程序,适用于连接到软盘接口的磁带机

?zftape—一个比较新的软盘驱动器磁带驱动程序,它可以处理附加的磁带格式

?scsi—支持使用SCSI接口的磁带机驱动程序

?ide—支持ide接口磁带机驱动程序

?removable—支持软盘或者活动硬盘的驱动程序

如果没有磁带机但是想试试使用taper程序并把一两个子目录备份到软盘上去,请使用-T

命令行参数和removable选项:

#taper-Tremovable

这个命令启动taper程序运行,如图23-8所示。taper命令会使用缺省的活动设备/dev/fd0,

也就是软盘驱动器。如果想改变设备类型以便使用一张Zip磁盘,使用光标上下方向键把高亮

378使用第五部分监管你的系统下载

度光标块移动到“ChangePreferences”(改变偏好)选项,然后再按下回车键。在随后出现的

对话框中,在“TapeDrivePreferences”(磁带驱动器偏好)选项处按下回车键。

在如图23-9所示的“TapeDrivePreferences”(磁带驱动器偏好)对话框中。把两处/dev/fd0

修改为代表缺省的Zip磁盘设备的/dev/sda4。按下Esc键,返回到主菜单。在主菜单中,在

“BackupModule”(备份模块)选项处按下回车键。

在如图23-10所示的taper程序的选择对话框中,在备份操作开始执行之前会要求你对需要

备份的文件或者子目录进行选择。使用光标方向键在子目录和文件清单中移动,按下字母“I”

键选择某一项。如果想需要得到帮助,请按下“H”键或者问号(?)键。完成的时候,按下字

母“F”键就正式开始备份操作了。

taper程序有许多许多的功能。它的文档保存在/usr/doc/taper子目录中的FAQ.txt文件中。

第23学时备份和恢复系统用用379下载

图23-8taper命令脚本程序

提供了一个对子目

录或者文件进行归

档或者备份操作的

图形化界面

图23-9在taper备份操作

中,可以使用不同

的备份设备,比如

用于Zip磁盘的

/dev/sda4等等

图23-10使用光标方向键在

taper选择对话框中

移动,使用字母“I”

键选择需要备份的

文件或者子目录

23.2课时小结

本学时教程介绍了用来备份OpenLinux操作系统的不同的程序和方法。作为一名系统管理

员,定期对系统进行备份是一项很重要的工作,而且能够使计算机管理经验中的维护系统和

重要文件方面的经验趋向于完美。

23.3专家答疑

问:我不想使用软盘来备份我的系统。但是我没有活动硬盘,我也没有一台磁带机。那

么我可以采取的对我的重要文件进行备份的最安全的方案是哪一种呢?

答:你至少应该备份/etc子目录。这个子目录中大概保存着不到2.5兆字节的文件,这些文

件用两张软盘就可以备份了。可以使用的另外一个方法是把重要的文件备份到另外一个硬盘

分区中去(比如一个已经挂装的msdos或者vfat分区)。如果硬盘空间足够的大,还可以单独建

立一个Linux操作系统的ext2分区来保存系统上的配置文件的周期性备份。如果根分区出了什

么问题,就可以从这个单独的分区恢复系统。

问:帮帮忙!我的系统崩溃了!我没有备份过我的文件!我该怎么办哪?

答:首先,别着急!确实曾经备份过重要文件,还记不记得?手边有没有一张应急启动

盘?使用这张应急启动盘开机启动,然后再使用这张应急启动盘上面的mount命令来试试挂装

OpenLinux分区;这样做也许能够恢复一部分文件。如果Linux分区依然存在,把某个分区的

所有内容转储到另外一个分区中的一个压缩文件去,然后再一个一个手动释放相应的文件也

可以算得上是个办法(虽然这么做非常非常繁琐而且还不能保证效果)。一定要把一张带有恢复

工具程序的启动盘准备在手边!

问:哪一种备份介质最好使用?

答:在当今的市场上有许多许多种不同类型的活动介质。在过去的10年里,活动光盘驱

动器每兆字节(大概其的一个衡量标准吧)的价格和成本已经下降了很大一块。必须综合考虑成

本、速度和可靠性等因素之后才能做出决定。在这本书里已经有了一个很棒的备份了—就

是OpenLinux操作系统CD-ROM光盘,它可以说是一个包括了几乎所有本书所使用的软件的工

作备份。如果很在意地保护了/home和/etc两个目录的话,就可以在几分钟之内从一场硬盘灾

难中恢复到一个运转着的系统中了。

23.4练习题

1.使用tar命令对/etc和/home子目录建立一个压缩的档案文件。这个文件有多大?

2.使用du命令检查OpenLinux操作系统本身占用的空间。你还能不能找到其他的方法查出

占用了多大的空间?

3.研究防止发生硬盘灾难的措施。如果硬盘驱动器崩溃了,最害怕丢失哪些文件?可以

采取哪些步骤防止丢失这些文件?

380使用第五部分监管你的系统下载

献花(0)
+1
(本文系利顿收藏馆首藏)