Linux服务器上的备份和恢复.docx
- 文档编号:18615976
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:10
- 大小:22.96KB
Linux服务器上的备份和恢复.docx
《Linux服务器上的备份和恢复.docx》由会员分享,可在线阅读,更多相关《Linux服务器上的备份和恢复.docx(10页珍藏版)》请在冰点文库上搜索。
Linux服务器上的备份和恢复
Linux服务器上的备份和恢复
进行一般的备份应该是负责任的系统管理者的最高优先考虑。
虽然Linux是一个高度可靠的作业系统,系统失效仍然可能发生。
可能因为硬体故障,电源中断,或其他不可预料的问题。
更常见的这些问题是来自人为的错误,不当的变动,甚至因为删除重要的档案。
如果您负责管理系统上的用户,一定可能常被要求重建因为不小心误删的档案。
如果您进行一般备份,以每日为基础较好(至少对更动频繁的使用者档案),您将会有助於减少档案的损失,并且增加复原程度。
最安全的备份方法是将他们纪录於不同的媒体中,例如磁带,抽取式硬碟,可写式cd.等。
然後将您的备份和您的Linux系统分开存放。
有时候这可能并不实际--也许在您可以存放备份磁带的地方没有防火室!
或是在第一优先的地点没有办法存取这样的外部备份系统。
虽然如此,仍然可以进行备份,只是会受到一点限制。
在我服务的单位,我在几个Linux系统上进行备份。
按情况的不同,有些备份存放在磁带,其他则写入位於网路上的不同伺服器中,然而有一些仍然使用cron自动作业(可能因为伺服器位在远端,在那里每天进行磁带备份是不切实际或不可能的),简单的放在分别不同磁碟上的分割区中(例如,放在``/archive/''档案系统)。
在家里,我没有外部的备份系统,我也没有大量的磁碟空间去存放备份影像档。
因此,我改为只备份在``/home/''的我的使用者档案,同样的还有一些在``/etc/''的自订设定档,将备份存放在分别不同的磁碟分割区中。
伺服器备份程序
进行Linux备份有几种不同的方法,其中包括所有Linux发行版本中都有的命令列工具,例如``dd'',``dump'',``cpio''以及``tar''。
其他还有文字型态工具,例如``Amanda''及``Taper'',这些是被设计来在备份及回存过程中加入更友善的使用者介面。
当然也有图形介面的工具,像是``KDat''。
最後,还有商业化的备份工具,像是``BRU''和``PerfectBackup+''。
这些备份计划中任何之一都足以提供您宝贵资料的保护。
这里有一些包括哪里可以获得工具的列表,可以在“LinuxApplicationsandUtilitiesPage”找到,位於当决定好备份方式,您可能要考虑下列几点因素:
可携性-备份的可携性(亦即.从一个Linux发行版本或应用Unix备份然後回存到另外一个;例如从Solaris到RedHatLinux)对您而言是否重要?
如果是,可能想要选择一个命令列的工具(亦即.``dd'',``dump'',``cpio'',或``tar''),因为您可以相当地确定该工具可以在另一个*nix系统上找到。
无人或自动备份-定期自动进行备份而不需人力介入之能力,对您而言是否重要?
如果是,您可能需要能支援该方案的工具及备份媒体。
使用者友善-使用者友善的介面对您而言是否重要?
如果是,您可能想要选择一个文字或图形介面的工具。
商业的应用程式可以提供最简便的介面及技术支援。
远端备份-从远端机器进行备份及回存的能力对您而言是否重要?
如果是,您可能想要选择命令列或文字模式的工具而不是图形介面(除非您有相当快的网路连结及执行远端Xsessions的能力)。
网路备份-从网路主机进行备份及回存对您而言是否重要?
如果是,您可能要用一些支援从网路存取备份设备的命令列工具(像是``tar''),或是专用工具程式例如``Amanda''或是一些商业工具程式。
媒体型态-备份可以储存在很多不同的媒体,像是磁带,外接式硬碟,ZIP磁碟,或可读写CD。
考虑售价及可靠性,储存容量,及传送速度。
警告:
当备份您的系统时,不要包括``/proc''伪档案系统!
/proc中的档案并非真的档案,而仅是看起来像档案的描述,而且指向核心资料结构的连结。
备份``/proc/kcore'',这事实上这是一个伪装档案,包含记忆体中所有的资料,会浪费很多的磁带!
您可能也需要避免备份``/mnt''档案系统,除非您有从CD-ROM,软碟机,网路分享档案,或其他安装设备上备份的特殊需求。
明显地,备份及回存的过程会因您所选择的备份方法而有所不同。
然而,在这一节,我将会讨论我最常使用的两种工具备份的方法:
``tar''(其名称源於“TapeARchiver”),这是一个命令列式的工具,在*nix系统中具有很高的可携性;以及``KDat'',一个来自於KDE套件的图形介面磁带备份工具。
最後,我应该补充一点,依您所选择的备份方式,即使该工具没有建立於自动备份时间表上的能力,您仍然可以利用cron功能进行该自动备份。
参考使用Cron和Crontab档进行自动作业有关使用cron的细节以及如何建立crontab行程表档案。
使用``tar''备份:
如果您选择``tar''作为您的备份方案,您可能要花点时间去了解种种的指令选项;键入“mantar”有更深入的明细。
您还需要了解如何存取适当的备份媒体;虽然在Unix的世界中对待所有的装置就像处理档案一样,如果您写入到一个字元设备像是磁带,“档案”的名称就是设备本身的名称(亦即.``/dev/nst0''是一个SCSI介面的磁带机)。
下面的指令会将您的整个Linux系统备份於``/archive/''档案系统,除了``/proc/''伪装档案系统,``/mnt/'',``/archive/''档案系统(没必要备份我们的备份档!
),还有Squid很大的快取资料档(是的,依我之见,浪费备份媒体而且不需要去备份)之外的任何已挂载的档案系统:
tar-zcvpf/archive/full-backup-`date'+%d-%B-%Y'`.tar.gz
--directory/--exclude=mnt--exclude=proc--exclude=var/spool/squid.
不要被上面的指令吓到!
当我们将其分为两部分,您将会发现这个强力工具之美。
上列的指令指定了选项``z''(压缩;备份资料经由``gzip''压缩),``c''(建立;一个archive档开始被建立),``v''(verbose;显示出已经备份好的档案),``p''(允许保存;保护的资料将会被“记忆”,可以被回复)。
``f''(档案)选项後面接的是的要写入的archive档(或装置)名称,注意包含资料的档名是如何得到的,只要用两个後引号将``date''指令圈起来。
一般的命名惯例是在未压缩过的档案後面加上``.tar'',压缩的档案加上``tar.gz''``--directory''选项告知tar在开始备份前首先跳到以下的档案路径(在本例中是``/''目录)。
``--exclude''选项告知tar不要备份所指定的档案或目录。
最後,``.''符号告知tar要备份目前目录中的所有东西。
注意:
有一点很重要必须了解的就是tar的选项是大小写不同的!
此外,大部分的选项可以用助记符号加以简化(亦即.``f''),或者使用较易记忆的选项全名(亦即.``file'')。
助记符号前用一个``-''字元作为字首作为辨识,在全名的前面有两个这种符号的字首。
参考“man”页以得到更多有关使用tar的资讯。
另一个例子,这一次只有写入指定的档案系统(和上一个除了例外全部写入的例子相反)到一台SCSI的磁带机:
tar-cvpf/dev/nst0--label="Backupsetcreatedon`date'+%d-%B-%Y'`."--directory/--exclude=var/spool/etchomeusr/localvar/spool
在上面一行的选项,注意没有用到``z''(压缩)选项。
我强烈建议反对写入压缩资料到磁带上,因为如果磁带上资料有一部份损坏,您会失去整个备份!
然而,未压缩的储存的archive档具有很高的可恢复性,即使磁带上的档案有一部份损毁。
因为磁带机是一个字元设备,没有办法指定一个确实的档名。
因此,指定给tar的档名可简化为装置名称,``/dev/nst0'',是在SCSI排汇上的第一个磁带设备。
注意:
``/dev/nst0''设备在备份做好後不会回带;因此有可能将好几组备份写到同一磁带。
(您也可以选择``/dev/st0''这个装置,在这种情形磁带在备份完後会自动回带)
既然我们无法对一套备份指定档名,``--label''选项可以来写进档案本身一些有关这一套备份的资讯。
最後,只有包含在``/etc/'',``/home/'',``/usr/local'',及``/var/spool/''(除了Squid的快取资料档)会写进磁带。
当使用磁带时,可以使用下列命令回带,以及退出磁带:
mt-f/dev/nst0rewind
mt-f/dev/nst0offline
小技巧:
您将会发现到当archive档建立时,前面的``/''(斜线)符号会被tar去除。
这是tar的预设操作模式,这是故意用来保护您避免覆写这些重要档案的原先版本,以防万一您不慎在重建过程中覆写了不正确的档案。
如果您真的不喜欢这个特性(记住,这是特性!
)您可以指定tar``--absolute-paths''选项,这样会保留前面的斜线。
然而,我不建议这样做,因为很危险!
使用``KDat''备份:
如果您使用KDE桌面环境,我相信您会发现``KDat''公用程式不但强大而且对使用者很友善。
此外,另一个好处是KDat利用``tar''作为其备份engine。
因此,用KDat写入的备份组不但可以用KDat读取,也可以用tar!
这使得KDat成为在使用者友善及备份可携性中很好的选择。
小技巧:
即使您决定不使用也不安装完整的KDE套件,如果您安装了Qt函式馆就仍然可以使用KDE。
当您第一次执行KDat,您需要建立一个备份profile。
这个profile告诉KDat您想要备份系统中的哪些档案。
如果您要的话,您可以建立好几个备份profile,依照您的需求(例如,您可以建立一个profile叫做“FullBackup”作系统的完全备份,或是“QuickBackup”只备份使用者的档案)。
要建立备份profile,可以选择从选单栏中“File”选项选择“CreateBackupProfile”(或在“BackupProfiles”文件夹上按滑鼠右键,然後选择“CreateBackupProfile”)。
在右手边的是KDat视窗,您可以改变各种设定,像是profile名称,archive名称,tar选项,以及其他的。
单击“Help”选单有关於这些设定的用途说明。
要指定哪些档案应该包含在您的backupprofile,在``/''目录文件夹旁的核对图示上敲一下左键。
这会确定所有的档案及这个目录下所有东西都会备份。
然後,在文件夹旁的小``+''符号上敲一下左键,资料夹会展开,显示档案及以下的目录。
您可以排除掉所不想备份的档案;只要在您想排除的每一个档案或目录旁的核对符号上敲一下左键。
例如,一个完全备份应该包含已标记的所有档案及目录,要排除``/proc''(一个伪装档案系统,包含您目前运作系统的资料),``/mnt''(位於CD-ROM下面的目录,软碟机,网路分享常被挂载在此),而且如果您是Squid使用者,``/var/spool/squid''(Squid的快取资料档)。
一旦您选好了合适的档案,在您建立好的备份profile上按一下左键,然後在“Files>>”钮上按一下左键将选好的档案移进您的备份profile。
注意:
如果您的伺服器资料到巨大到无法实际存放到磁带中,您需要建立分别的备份profiles,备份组中每部份一个。
实际进行备份时,将磁带放入,从“File”选单中选择“MountTape”(或是用滑鼠敲一下看起来像磁带的图示)。
这样会“挂载”磁带(事实上,因为磁带机是字元装置,事实上无法挂载它--其实KDat只是先回带,试着去读取开头资讯,如果成功,找寻磁带机上符合的索引。
否则,KDat会提醒您格式化磁带。
(注意:
如果KDat持续反映没有磁带在磁带机但事实上有,您应该确定在参数中指定的磁带机名称正确,在选单栏中用滑鼠敲一下“Edit”选项然後选择“UserPreferences”.)
一旦KDat已经挂载好磁带,在您开始备份前必须选择备份的profile。
当打算开始备份,只要在您要的备份profile上敲一下右键,然後在“Backup”上敲一下左键。
KDat会先显示一个对话框告诉您有关您所选择备份profile的细节;在“Ok”上敲一下左键就会开始备份。
当备份开始进行,KDat会显示一个有各种状态资讯的对话框(经过时间,备份大小,备份比率,估计剩馀时间,档案数量及总共写入bytes数),以及已经备份档案的列表。
一个包含好几gigabyte资料的完全备份可能需要花上好几个小时。
必要的话,在备份过程中任何时候您可以在“Abort”钮上敲一下左键放弃备份。
一旦备份完成,您可以在选单栏中选择“Edit”,再选“UnmountTape”以解挂载磁带,或在磁带图示上敲一下,这样磁带会回带然後跳出。
无疑地,比例行备份更重要的事就是当问题发生後能让重要档案正常回复!
明显地,就像伺服器备份程序所讨论的,进行回存的程序依您所选择的备份方案而有所不同。
在这一节,我将会讨论由``tar''及''KDat''所备份的回存方法。
使用``tar''回存:
下面的指令会从``full-backup-09-October-1999.tar.gz''回存所有的档案,这是我们Linux系统的备份例(按照在使用``tar''备份一节中的命令例所做的):
tar-zxvpf/archive/full-backup-09-October-1999.tar.gz
上面的命令会从archive档中取出所有的档案,保留原档案的拥有者及权限。
``x''选项用来作解出(其他的选项在使用``tar''备份这节中有提到:
)
警告:
从一个tar的archive档中解出档案可能是一件危险的事,因此必须谨慎进行。
也许这些档案作时并未包括准备好的路径(有一些被误导或未被告知的发展者散他们的档案时可能会这样),表示档案会被解到目前的目录下。
也许档案压缩时有加上``/''斜线(当备份档建立时指定``--absolute-paths''选项),表示档案会被回存到绝对位置(即使您不愿意)。
或者也许档案压缩时未加上``/''斜线,表示档案会被解到目前的目录下(即使您不愿意这样)。
当然,全看备份是如何建立的。
因为这个缘故,我强烈建议先在``tar''命令加上``t''(type)选项加以测试,然後当您完全确定命令会依您预期进行後将``t''换成``x''(extract)。
如果您不需要回存archive中所有的档案,您可以指定一个或更多的档案,按照下面例:
tar-zxvpf/archive/full-backup-09-October-1999.tar.gzetc/profileusr/local/bin/tolower
上面的命令会从例的档案回存``etc/profile''及``usr/local/bin/tolower''
如果您只试着从您的archive档中回存一个或几个档案,除非您确实地指定和archive档中所存放相同的档名及路径,否则不会成功。
下面的例会帮您解决问题:
tar-ztvpf/archive/full-backup-09-October-1999.tar.gz|grep-iprofile
在上面的例,所有在archive档中的档案都以档名列出。
所有的结果都会输出到``grep''指令(使用grep的``i''选项可忽略混杂的情况),显示``profile''中任何档案的目录及档名。
当您确实决定要回存的档名时,您可以用一般的tar指令表达指定所要回存的档案。
就像在伺服器备份程序所提到的,当建立一个archive档时,tar会从档案路径去除前面的``/''(斜线)符号。
这表示档案回存时可能不会在和备份时相同的位置结束。
因此,不要改变到``/''root目录或者``--directory/''选项。
注意:
一个更安全的方法是在不同的目录回存档案(例如您的home目录),然後比对,搬移及更新档案到之後的原始位置。
使用``KDat''回存:
要从KDat建立的备份组回存一个或更多档案,将备份磁带放进磁带机,从“File”选单项目选择“MountTape”(或在磁带的图示上按下滑鼠左键)KDat会试着从磁带读入开头资讯,如果成功的话,会试着找寻符合开头资讯的磁带索引。
这个索引存在硬碟,是由KDat为所格式化的每一个备份磁带所做的唯一档案,每一次进行备份就会更新。
如果符合的档案索引遗失了(也许您回存的备份组是由另一部机器所备份的,或是因为硬碟损毁而删除了索引档),KDat会通知您这件事,并且如果可以读取磁带重建索引的话会询问您。
由於您必须在您回存档案前先重建索引,按左键选择“Yes”是有意义的。
(注意:
一但磁带重新索引过,名称会变成“ReindexedTape”。
您可以将它重新命名成原来的样子)
当磁带索引成功地读入,可以用来选择您想从备份组回存的档案或目录,和您建立备份档时所用的方法十分相同(查看伺服器备份程序有关选择档案过程的详细说明)。
当您选择好合适的档案,您可以从目录页中的“File”选项选择“Restore...”开始回存程序(或在磁带回存的图示上按滑鼠左键)。
KDat会显示一个对话框,让您确认要回存的档案。
此外,您有指定回存的档案所到目录的选项。
这让您回存重要档案到您的home目录下,然後可以和预期位置中的档案做比较,移动或是更新。
这实际上是最安全的回存档案方法。
要开始回复程序,在“Okay”钮上按一下,KDat会扫描磁带并且开始回存选定好的档案。
有时,您会发现不使用KDat回存一个用KDat备份过的档案是必须或有帮助的。
也许您想要在不提供图形介面的系统上回存这些档案,或是您的网路速度很慢而透过它执行KDat是不切实际。
幸运地,KDat使用``tar''工具写入备份资料,在任何*nix系统都有的命令列工具。
如果您打算用tar回存用KDat建立的备份组,就像您回存用tar本身备份的普通备份组所做的选项一样。
记住,资料组并未以压缩格式储存。
注意:
当您试着使用tar存取由KDat所做的备份组时,一定会得到错误讯息。
这是因为当磁带第一次格式化时KDat加入了开头及其他资讯。
重tar指令两三次就会跳到档案真正开头的地方。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 服务器 备份 恢复