下一页 上一页 目录

7. 备份和恢复数据

本节介绍 tarmt 的一些简单用法。其他示例可以在 ftape-doc 包的 ftape-manual 中找到。 ftape-tools 包含一些简单的自动化 DejaGnu

用于编写自动化测试的软件包。
测试套件。有关从何处下载这些附加软件包的信息,请参阅 获取 ftape 部分。

7.1 写入归档到磁带

您可以使用 `tar'、`dd'、`cpio' 和 `afio'。您将需要使用 `mt' 来充分发挥磁带和 ftape 驱动程序的潜力。首先,我建议使用 `tar',因为它可以归档许多目录,并允许您从归档文件中挑选出单独的文件。 cpio 创建更小的归档文件,并且通常比 tar 更灵活,但缺少一些功能,例如卷标。 `afio' 创建备份,其中每个文件都被单独压缩,然后连接起来。这将允许您在错误点“之后”访问文件。如果您使用 gzip 压缩的 tar 文件,则错误点之后的所有数据都会丢失!(对我来说,这是不使用备份压缩的一个很好的理由)。哪种选择最合适取决于具体情况以及每个软件包的功能和缺点。我建议您查看每个软件包,并查看每个软件包提供的选项。本 HOWTO 可能会在未来某个时候提供有关此主题的更多详细信息。

http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/software 部分中,有更多指向备份软件的链接。

要使用 tar 备份内核源代码树,请执行以下操作(假设您的源代码位于 /usr/src/linux 中)

        # cd /usr/src
        # tar cf /dev/ftape linux

这将不会压缩文件,但会使磁带运行更顺畅。如果您想要压缩(并且您已安装了 tar 1.11.2),只需包含 -z 标志 (*),例如:`tar czf /dev/ftape linux'`

有关如何使用 tarddmt 的更多说明,请查看手册页和随附各自发行版的 texinfo 文件。

(*) tar 假定第一个参数是选项,因此 `-' 不是必需的,即以下两个命令是相同的:`tar xzf /dev/ftape' 和 `tar -xzf /dev/ftape'

7.2 恢复归档

好的,让我们恢复您在上面 写入归档到磁带 部分中制作的内核源代码备份。为此,您只需说

        tar xf /dev/ftape

如果您使用了压缩,则必须说

        tar xzf /dev/ftape

当您使用压缩时,gzip 会抱怨归档文件末尾之后存在尾部垃圾(这会导致“broken pipe”消息)。这可以安全地忽略。

对于其他实用程序,请阅读手册页。

7.3 测试归档

tar 有一个选项 (-d) 用于检测两个归档文件之间的差异。要测试您的内核源代码备份,请说

        tar df /dev/ftape

如果您没有 tar 的手册页,您还没有迷路(尚未);tar 有一个内置的选项列表:尝试 `tar --help 2>&1 | less'`

7.4 在磁带上放置多个备份

要在磁带上放置多个备份,您必须拥有 mt 实用程序。如果您安装了主流发行版之一(例如 Slackware 或 Debian),您可能已经拥有它。

tarcpio 这样的程序生成单个磁带归档文件,并且不了解多个文件或磁带定位,它只是从/向设备读取或写入。 mt 了解有关前后移动磁带的一切,但不了解有关从磁带读取数据的信息。您可能已经猜到,将 tarcpiomt 结合使用可以解决问题。

通过使用 nqft[0-3] (nftape) 设备,您可以使用 `mt' 将磁带定位到正确的位置(`mt -f /dev/nqft0 fsf 2' 表示跳过两个“文件标记”,即 tar 文件),然后使用 tarcpio 读取或写入相关数据。

非倒带设备最常见的用途是将另一个备份附加到现有磁带。以下是具体步骤,并附带一些解释以供参考。

7.5 将文件附加到归档

“有没有一种方法可以扩展归档文件——将一个文件放在磁带上,然后在稍后向磁带添加更多内容?”

没有。 tar 文档会告诉您使用 `tar -Ar',但这不起作用。这是当前 ftape 驱动程序的限制。

7.6 挂载/卸载磁带

由于磁带上没有“文件系统”,因此您不会挂载/卸载磁带。要备份,您只需插入磁带并运行 `tar' 命令(或您用于访问磁带的任何命令)。


下一页 上一页 目录