备份

为何备份?

如果您的系统遭受了严重的损坏,如果您不小心删掉了某些重要的系统文件,或者有人入侵了您的系统并故意删掉了某些文件……此时,事先对系统的备份将是唯一可以对系统进行修复的途径。为安全起见,您还应该同时备份您每天使用的数据(压缩音乐、图像、办公文档、电子邮件、地址簿等等)。

您应该使用适当的介质进行备份,并将备份放在安全的地方。如果可能的话,这样的地方应该是在您平常工作的地点之外。您甚至可以拥有两个备份,一个在您的房间内,一个在您的房间外。一般而言,如果您想要备份真的发挥作用的话,您也应该确保您能够恢复这些备份。

准备您的系统

您可能已经在您的系统中安装好了所需的全部程序。您手里也有了一张启动盘(就是我们刚刚创建的那张)。实际上,您可以只使用 tar 和可选的压缩工具,如 gzipbzip2,来进行备份。请参看“使用 tar 备份的例子”一节中的例子。

当然,您也可以使用专门的备份程序,比如 TaperTime NavigatorArkeiaMandrakelinux 自己的 Drakbackup(请参看“用 DrakBackup 备份和恢复您的文件”一节)。

要备份什么?

其实,每个系统管理员在应该进行备份的时候都会问自己这样一个最难回答的问题。答案则基于以下考虑:您只是备份您个人的数据、您的配置文件还是整个系统?您想要为备份花多少时间和空间?您是想要将您的备份恢复到同一台计算机/操作系统版本,还是恢复到另外一台?

由于这里是疑难解答,我们会更多的关注这样一种备份,它允许我们将系统快速恢复到引致灾难的问题发生之前的状态。当然,如果您不想丢掉个人数据的话,还应该备份您的个人数据。

根据大多数人的经验,您需要备份下列目录:/etc/home/root/var。如果您对这些目录执行了完全备份,您不仅保存了您的系统配置,还有您的数据(如果您想知道您的数据在哪里的话,我们可以告诉您就在 /home/您的用户名/ 目录中)。请记住,这么做可能要花相当长的时间才能完成,但却是最安全的。

更复杂的备份方案是只备份那些发生了变化的配置文件,而跳过没有变化的文件。这在计划的时候要花点时间,但备份较快(恢复也较快)。而且,这样的备份也便于移植到另外一台计算机/操作系统版本。

总而言之,请备份您所用程序的全部配置文件以及您更改的全部配置文件。并且,同时备份您的个人(及您系统用户的)数据文件。这么做将会在以后为您带来巨大的便利。

备份到哪里?

这是另外一个大问题。这取决于您想要备份的数据量有多少,您想要制作备份的速度有多快,访问备份介质有多容易,以及很多诸如此类的因素。

一般说来,您需要的介质应该至少和您想要备份的数据总量一样大,而且速度也说得过去,不然您的备份过程所花时间之长将会使您无法忍受。

可供选择的备份介质选项在容量、可靠性和速度上各有千秋。您可以根据您的备份策略组合使用备份介质。例如:磁带和 CD-R/DVD+RW、硬盘和磁带、硬盘和 CD-R/DVD+RW,等等。但是别忘了,您的备份软件可能支持全部类型的介质,也可能支持其中的一部分。

何时备份?

备份的日程安排有很多很好的策略。我们会为您介绍其中的几种。请记住,这些策略并不是一定是必须的,也不一定是最好的,也不是可供选择的唯一几种策略。我们只是起到抛砖引玉的作用,以便能够让您制定出适合您需求的备份日程表。

许多备份策略都取决于您所使用的介质,您数据变更的频率,以及数据对您或您的单位来说重要性如何。例如,有一种策略要求您在每周末执行完全备份,每天执行增量备份(只备份更改过的内容);每月单独执行完全备份,并将该备份至少存放在两个地点。这一策略可能对企业来说非常有用,但是对个人计算机就可能没这个必要。关于您自己的个人备份,您可能会选择如下方案:每周在您的硬盘上制作您文件的备份,并且每个月将这些备份传送到 CD-R/DVD+RW 或磁带上。

使用 tar 备份的例子

接下来,我们会为您介绍一个小备份,该脚本使用 tarbzip2 来制作您所提供的目录的压缩备份。请阅读该脚本的注释来获得关于其用法的提示。

[Warning]警告

您需要拥有待备份文件的读取权限以及待备份目录上的读取和执行权限。否则,备份操作将会失败。

#!/bin/bash

# 创建指定目录的压缩备份,并将结果文件放在我们选择的目录中。

BACKUP_DIRS="$HOME /etc /var"
BACKUP_FILENAME=`date '+%b%d%Y'`
BACKUP_DEST_DIR="/backups"

# 取消下面一行的注释可执行 GZip 压缩的备份,
# 保留注释可执行 BZip 压缩的备份

#tar cvzf $BACKUP_DEST_DIR/$BACKUP_FILENAME.tar.gz $BACKUP_DIRS

# 我们在这里执行 BZip 压缩的备份...
# 对下面一行加注释可执行 GZip 压缩的备份,
# 取消注释可执行 BZip 压缩的备份

tar cvjf $BACKUP_DEST_DIR/$BACKUP_FILENAME.tar.bz2 $BACKUP_DIRS

使用 BACKUP_DIRS 来指定您想要在备份中包含的目录,而用 BACKUP_DEST_DIR 来指定存储备份的目的目录。将此脚本置为可执行:打开终端并运行 chmod 700 backup.sh

当然,您可以稍后将 tar.bz2tar.gz 结果文件移动到您喜欢的任何介质。您甚至可以直接备份到您喜欢的介质,只需先行挂载该介质,然后更改脚本中变量 BACKUP_DEST_DIR 的值。您可以对这一脚本进行任意的增强,以便让其能够适合您灵活的需求。

要恢复此脚本所制作的备份,请见“使用 tar 恢复的例子”一节