| 
 咨询电话:010-51727811/12/13
当前位置: 首页 > 新闻中心 > 业内新闻 >
如何在Linux服务器上做备份和恢复(一)
时间:2013-06-09 09:21  来源:飞客数据恢复   作者:飞客数据恢复工程师
    进行一般的备份应该是负责任的系统管理者的最高优先考虑。虽然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 套件的图形介面磁带备份工具。
     最後,我应该补充一点,依您所选择的备份方式,即使该工具没有建立於自动备份时间表上的能力,您仍然可以利用 cron 功能进行该自动备份。 参考使用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 .