ChinaUnix首页 > Linux时代 > > 正文

shivalik --- 简单的配置备份程序


作者:S. Parthasarathy 翻译: 王旭 2004-10-05 17:17:16 来自:linuxfocus

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

摘要:

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

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


_________________ _________________ _________________

 

shivalik

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

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

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

下载脚本之后:

  • 确信你以 "root" 登陆
  • 把下载的文件保存在 /usr/sbin 并属于 "root", 也就是 /usr/sbin/shivalik.gz
  • 进入那个目录,也就是 cd /usr/sbin
  • 使用 gunzip 解压缩脚本,也就是 gunzip ./shivalik.gz
  • 让它只能被 root 读取和执行,也就是 chmod 700 /usr/sbin/shivalik
  • 随便看看脚本,加入你想要加入的特征或你想要备份的文件。
  • 记着把你的建议发给脚本的作者(hyd1_algolog @ sancharnet.in)
  • 你只能以 "root" 的身份合法运行这个脚本。
  • 你可以以任意的频率运行这个脚本。事实上,你必须在每次要对系统做大的改动之前运行它。为了方便你的使用,脚本自动的保存了先前的备份。

要运行这个脚本:

首先确定你已经像上面那样让这个文件(只被 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.下载它。

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


(编辑:admin)


Linux论坛】【评论】【关闭

Linux文档搜索
关键词