[LinuxFocus-icon]
<--  | 首页  | 站点地图  | 索引  | 搜索

新闻 | 过往期刊 | 链接 | 关于LF
This document is available in: English  ChineseGB  Deutsch  Russian  Turkce  

[Photo of the Author]
by S. Parthasarathy (Partha) (homepage)

关于作者:
Partha 是一个激进的 Linux 与其它代表自由和解放的东西的支持者。他在德国进行一次休假旅行期间和一个可爱的德国人坠入了爱河。他的爱人——SuSE Linux 几乎每天陪他度过17个小时。他们在一起有了很多孩子:他的 "teaspoon" CDROM、他的 Linux 培训课程、他被收入 LDP 的文档,还有很多教程,所有这些都是这个幸福婚姻的产物。Partha 博士计划拥有更多的孩子,并正为此不懈努力!他无意使用任何制定家庭计划的方法。
要了解关于 Partha 博士的 Linux 作品和活动, 请点击这里
目录:

 

shivalik --- 简单的配置备份程序 (对抗“墨菲定律”)

shivalik mountains, Himalaya

摘要:

在你的 Linux 系统有了严重的问题之后,有很多的 HOWTO 告诉你如何应对这些问题。这些文档非常有用,但是却没有什么 HOWTO 告诉你在灾难来临之前应该做些什么!有一个简单但不简短的 shell 脚本可以减少你的痛苦。你可以在安装系统之后和每次对系统大动干戈之前运行这个脚本。你甚至可以对脚本进行一点点改动,让它作为一个 cron job,每若干小试运行一次。从此以后,你就可以睡大觉了。正所谓“防患于未然”。

Shivaliks 是印度的一个山脉,也被称作小喜马拉亚。本文所说的脚本以这座山命名。

压题照片得到了Karamjeet Singh的许可。

_________________ _________________ _________________

 

shivalik

Bash 脚本 "shivalik" 是备份你的 Linux 系统的重要文件和信息的一个便捷方法。而且这个脚本有丰富的文档。它不修改或删除你的系统的任何文件或目录,只是创建一个被良好地保护的一些重要文件和信息的备份。你可以直接阅读整个脚本,了解它是如何工作的(只要你愿意,你甚至可以修改 shivalik)。

脚本备份重要的配置文件(/etc)并把一些 /proc 文件系统中的重要信息(如加载了哪些内核模块、装载了哪些分区,有多少可用磁盘空间等)备份在一个叫做 proc_info.txt 的文本文件里。

现在就下载 shivalik-2.0.gz (也可以从我的主页上找到更新版本)

下载脚本之后:

要运行这个脚本:

首先确定你已经像上面那样让这个文件(只被 root)可执行了(chmod 700)
现在你可以运行这个脚本了——只要输入shivalik /usr/local/backupcfg/
记住,要运行 shivalik,你必须是"root",因为要备份的许多文件都需要 root 权限才可以访问,而且脚本本身也只能被 "root" 执行。

 

恢复与修复

记住,shivalik 脚本不是一个全系统备份与恢复工具。理论上讲,最好的事情莫过于做一个整个系统所有文件和目录的逐字复制。但这总是不可能、不必要、不明智的。那么,仅次于这个的就是备份必需的信息和文件了。shivalik 就是为你做这个的。shivalik 会在你用命令行指定的路径(比如 /usr/local/backupcfg/backup-2004-04-17_2029)里创建一个子目录。这个子目录讲用你创建备份的日期和时间命名。

为了做到对任何可能发生的灾难都有所准备,你可以在脚本运行后立即把整个 backup-YYYY-MM-DD_HHMM 都拷贝到一个可移动存储介质上。

当以后遇到什么问题的时候,你可以从你的备份中拷贝文件来重建你的 /etc 目录中的配置。不要把 backup-YYYY-MM-DD_HHMM/etc.tar.gz 直接解压到 /etc,这样会覆盖所有文件的。相反,应该在一些其他的路径,比如 /root 解压它。然后从这里面找到你需要的文件并和 /etc 里面的文件作比较(diff)。你也可以检查文件修改的时间,因为 tar 保存了时间戳和存取权限。这有一个 /etc/fstab 的例子:

cd /root
tar -zxvf /usr/local/backupcfg/backup-2004-04-17_2029/etc.tar.gz
Note: above line will unpack the etc tree now to the current directory.
      That is /root/etc

diff -u /root/etc/fstab /etc/fstab

backup-YYYY-MM-DD_HHMM目录的结构如下:

etc.tar.gz     -- complete backup of /etc
proc_info.txt  -- selected information from /proc (modules dma interrupts
                  mounts version partitions meminfo pci)
 

恢复 /etc 以外的文件

在 Linux 中,/etc 因为包含很多配置文件而非常特殊。这些文件是专门针对你的计算机的。而系统中大部分其他文件都和你的安装光盘里的文件完全一样。换句话说,你总是可以用你的包管理系统(比如 rpm)来恢复它们。这有一个如何使用 rpm 恢复文件的简短的解释。运行命令:
rpm --verify --all
这条命令将根据 rpm 数据库里的信息检查所有安装在磁盘上的文件。如果你误删除了一个文件,rpm 就会告诉你,你只要重新安装这个软件包就可以了 ( rpm -i --replacepkgs --replacefiles rpm-package)。
 

shivalik 1.* 和 shivalik 2.* 以及更多

shivalik 有两个分支:
  1. shivalik 1.* 老一些、简单一些、输出信息更详细一些的版本。
  2. shivalik 2.* 更新的版本。就是本文介绍的版本。

记住,shivalik 只是你在安装系统之后要做的很多事情中的一小部分。安装系统后要进行的工作现在已经是 LDP 的 mini-HOWTO 的一部分了。你可以从 www.tldp.org 或是http://algolog.tripod.com/postlnx.htm.下载它。

居安思危,有备无患。没有灾难可能孕育着灭顶之灾。

 

对这篇文章发表评论

每篇文章都有各自的反馈页面。在这个页面里,您可以提交评论,也可以查看其他读者的评论:
 反馈页面 

<--, back to the index of this issue

主页由LinuxFocus编辑组维护
© S. Parthasarathy (Partha), FDL
LinuxFocus.org
翻译信息:
en --> -- : S. Parthasarathy (Partha) (homepage)
en --> cn: 王旭 <wangxu/at/linuxfocus.org>

2004-05-08, generated by lfparser version 2.46