进行一般的备份应该是负责任的系统管理者的最高优先考虑。虽然;Linux;是一个高度可靠的作业系统, 系统失效仍然可能发生。可能因为硬体故障,电源中断,或其他不可预料的问题。; 更常见的这些问题是来自人为的错误,不当的变动,甚至因为删除重要的档案。如果您负责管理系统上的用户, 一定可能常被要求重建因为不小心误删的档案。; 如果您进行一般备份,以每日为基础较好;(至少对更动频繁的使用者档案),您将会有助於减少档案的损失,并 且增加复原程度。; 最安全的备份方法是将他们纪录於不同的媒体中,例如磁带,抽取式硬碟,可写式;cd;.等。;然後将您的备份 和您的;Linux系统分开存放。有时候这可能并不实际;--;也许在您可以存放备份磁带的地方没有防火室;!;或是 在第一优先的地点没有办法存取这样的外部备份系统。虽然如此,仍然可以进行备份,只是会受到一点限制。; 在我服务的单位,我在几个;Linux;系统上进行备份。按情况的不同,有些备份存放在磁带,其他则写入位於网 路上的不同伺服器中,然而有一些仍然使用;cron;自动作业;(可能因为伺服器位在远端,在那里每天进行磁带 备份是不切实际或不可能的),简单的放在分别不同磁碟上的分割区中;(例如,放在;``/archive/'';档案系统);。; 在家里,我没有外部的备份系统,我也没有大量的磁碟空间去存放备份影像档。因此,我改为只备份在; ``/home/'';的我的使用者档案,同样的还有一些在;``/etc/''的自订设定档,将备份存放在分别不同的磁碟 分割区中。; 伺服器备份程序 进行Linux备份有几种不同的方法,其中包括所有;Linux;发行版本中都有的命令列工具,例如;``dd'', ``dump'',;``cpio''以及;``tar''。其他还有文字型态工具,例如;``Amanda'';及;``Taper'',这些是被设计 来在备份及回存过程中加入更友善的使用者介面。当然也有图形介面的工具,像是``KDat''。最後,还有商业 化的备份工具,像是;``BRU'';和;``PerfectBackup+''。这些备份计划中任何之一都足以提供您宝贵资料的保护。; 这里有一些包括哪里可以获得工具的列表,可以在“Linux;Applications;and;Utilities;Page”找到,位於 http://www.xnet.com/~blatura/linapp2.html#back.;当决定好备份方式,您可能要考虑下列几点因素:; 可携性;-;备份的可携性;(亦即.;从一个;Linux;发行版本或应用;Unix备份然後回存到另外一个;;例如从 Solaris;到;Red;Hat;Linux);对您而言是否重要;?;如果是,可能想要选择一个命令列的工具;(亦即.;``dd'',; ``dump'',;``cpio'',;或;``tar''),因为您可以相当地确定该工具可以在另一个;*nix;系统上找到。; 无人或自动备份;-;定期自动进行备份而不需人力介入之能力,对您而言是否重要;?;如果是,您可能需要能支 援该方案的工具及备份媒体。; 使用者友善;-;使用者友善的介面对您而言是否重要;?;如果是,您可能想要选择一个文字或图形介面的工具。商 业的应用程式可以提供最简便的介面及技术支援。; 远端备份;-;从远端机器进行备份及回存的能力对您而言是否重要;?;如果是,您可能想要选择命令列或文字模式的 工具而不是图形介面(除非您有相当快的网路连结及执行远端;X;sessions;的能力)。; 网路备份;-;从网路主机进行备份及回存对您而言是否重要;;?;如果是,您可能要用一些支援从网路存取备份设备的 命令列工具(像是;``tar''),或是专用工具程式例如;``Amanda'';或是一些商业工具程式。; 媒体型态;-;备份可以储存在很多不同的媒体,像是磁带,外接式硬碟,ZIP;磁碟,或可读写;CD。考虑售价及可靠 性,储存容量,及传送速度。; 警告:;当备份您的系统时,;不要包括;``/proc'';伪装档案系统;!;/proc;中的档案并非真的档案,而仅是看起来 像档案的描述,而且指向核心资料结构的连结。备份;``/proc/kcore'';,这事实上这是一个伪装档案,包含记忆 体中所有的资料,会浪费很多的磁带;!;:-);您可能也需要避免备份;``/mnt'';档案系统,除非您有从;CD-ROM, 软碟机,网路分享档案,或其他安装设备上备份的特殊需求。; 明显地,备份及回存的过程会因您所选择的备份方法而有所不同。然而,在这一节,我将会讨论我最常使用的两种 工具备份的方法;:;``tar'';(其名称源於“Tape;ARchiver”),这是一个命令列式的工具,在;*nix;系统中具有很 高的可携性;;;以及;``KDat'',一个来自於;KDE;套件的图形介面磁带备份工具;(参考;第5章,;KDE;的安装及组态; 有更多有关KDE的资讯)。; 最後,我应该补充一点,依您所选择的备份方式,即使该工具没有建立於自动备份时间表上的能力,您仍然可以 利用;cron;功能进行该自动备份。;参考;第9章,使用Cron;和;Crontab;档进行自动作业;有关使用;cron;的细节以 及如何建立;crontab;行程表档案。; 使用;``tar''备份: 如果您选择;``tar'';作为您的备份方案,您可能要花点时间去了解种种的指令选项;;;键入;“man;tar”;有更深 入的明细。您还需要了解如何存取适当的备份媒体;;;虽然在;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="Backup;set;created;on;`date;'+%d-%B-%Y'`."; --directory;/;--exclude=var/spool/;etc;home;usr/local;var/spool 在上面一行的选项,注意没有用到;``z'';(压缩);选项。我强烈建议反对写入压缩资料到磁带上,因为如果磁带上 资料有一部份损坏,您会失去整个备份;!;然而,未压缩的储存的;archive;档具有很高的可恢复性,即使磁带上的 档案有一部份损毁。; 因为磁带机是一个字元设备,没有办法指定一个确实的档名。因此,指定给;tar;的档名可简化为装置名称,; ``/dev/nst0'',是在;SCSI;排汇上的第一个磁带设备。; 注意:;``/dev/nst0'';设备在备份做好後不会回带;;;因此有可能将好几组备份写到同一磁带。(您也可以选择; ``/dev/st0''这个装置,在这种情形磁带在备份完後会自动回带); 既然我们无法对一套备份指定档名,;``--label'';选项可以来写进档案本身一些有关这一套备份的资讯。; 最後,只有包含在;``/etc/'',;``/home/'',;``/usr/local'',;及;``/var/spool/'';(除了;Squid;的;快取资料档) 会写进磁带。; 当使用磁带时,可以使用下列命令回带,以及退出磁带:; mt;-f;/dev/nst0;rewind mt;-f;/dev/nst0;offline 小技巧:;您将会发现到当;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;叫做“Full;Backup”; 作系统的完全备份,或是;“Quick;Backup”只备份使用者的档案)。; 要建立备份;profile,可以选择从选单栏中“File”选项选择“Create;Backup;Profile”;(或在“Backup;Profiles” 文件夹上按滑鼠右键,然後选择;“Create;Backup;Profile”)。在右手边的是;KDat;视窗,您可以改变各种设定, 像是profile;名称,archive;名称,;tar;选项,;以及其他的。单击;“Help”;选单有关於这些设定的用途说明。; 要指定哪些档案应该包含在您的;backup;profile,;在;``/'';目录文件夹旁的核对图示上敲一下左键。这会确定所有 的档案及这个目录下所有东西都会备份。然後,在文件夹旁的小;``+''符号上敲一下左键,资料夹会展开,显示档案及 以下的目录。您可以排除掉所不想备份的档案;只要在您想排除的每一个档案或目录旁的核对符号上敲一下左键。例如, 一个完全备份应该包含已标记的所有档案及目录,要排除;``/proc'';(一个伪装档案系统,包含您目前运作系统的资料), ``/mnt'';(;位於CD-ROM下面的目录,软碟机,网路分享常被挂载在此),而且如果您是;Squid;使用者,; ``/var/spool/squid'';(Squid的快取资料档)。一旦您选好了合适的档案,在您建立好的备份;profile;上按一下左键, 然後在“Files;>>”;钮上按一下左键将选好的档案移进您的备份;profile。; 注意:;如果您的伺服器资料到巨大到无法实际存放到磁带中,您需要建立分别的备份;profiles,备份组中每部份一个。; 实际进行备份时,将磁带放入,从;“File”;选单中选择;“Mount;Tape”;(或是用滑鼠敲一下看起来像磁带的图示)。 这样会;“挂载”;磁带;(事实上,因为磁带机是字元装置,事实上无法挂载它;--;其实;KDat;只是先回带,试着去读取 开头资讯,如果成功,找寻磁带机上符合的索引。否则,KDat;会提醒您格式化磁带。; (注意:;如果;KDat;持续反映没有磁带在磁带机但事实上有,您应该确定在参数中指定的磁带机名称正确,在选单栏 中用滑鼠敲一下;“Edit”;选项然後选择“User;Preferences”.); 一旦;KDat;已经挂载好磁带,在您开始备份前必须选择备份的;profile。当打算开始备份,只要在您要的备份;profile 上敲一下右键,然後在“Backup”上敲一下左键。KDat;会先显示一个对话框告诉您有关您所选择备份;profile;的细节 在“Ok”;上敲一下左键就会开始备份。; 当备份开始进行,KDat;会显示一个有各种状态资讯的对话框;(经过时间,备份大小,备份比率,估计剩馀时间,档案数 量及总共写入;bytes;数),以及已经备份档案的列表。一个包含好几;gigabyte;资料的完全备份可能需要花上好几个小时。 必要的话,在备份过程中任何时候您可以在“Abort”;钮上敲一下左键放弃备份。; 一旦备份完成,您可以在选单栏中选择;“Edit”,再选;“Unmount;Tape”以解挂载磁带,或在磁带图示上敲一下,这 样磁带会回带然後跳出 |
标签: linux