Windows 到 Linux 之旅 第 8 部分. 备份与恢复-2
- UID
- 1066743
|
Windows 到 Linux 之旅 第 8 部分. 备份与恢复-2
dump 和 restoredump 可以执行类似 tar 的功能。然而, dump 倾向于考虑文件系统而不是个别的文件。下面是引自dump 手册文件中的内容:“dump 检查 ext2 文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上……大于输出媒体容量的转储将被划分到多个卷。在大多数媒体上,容量是通过一直写入直至返回一个end-of-media 标记来确定的。”
配合 dump 的程序是 restore ,它用于从转储映像还原文件。
restore 命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。
dump 和 restore 都能在网络上运行,因此您可以通过远程设备进行备份或还原。 dump 和 restore 使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于 ext2 和 ext3 文件系统。如果使用的是JFS、Reiser 或者其他文件系统,您将需要其他的实用工具,比如 tar 。
使用 dump 执行备份使用 dump 执行备份是相当简单的。下面的命令执行一个完全 Linux 备份,它把所有 ext2 和 ext3 文件系统备份到一个SCSI 磁带设备。
1
2
3
4
| dump 0f /dev/nst0 /boot
<br>
dump 0f /dev/nst0 /
|
在这个例子中,系统中有两个文件系统。一个用于 /boot,另一个用于 / ,这是常见的配置。它们必须在执行备份时单独地引用。/dev/nst0 引用第一个 SCSI 磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。
dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中, 0 表示 0 级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替0,以改变备份级别。1 级备份会保存自从执行 0 级备份以来更改过的所有文件。2 级备份会保存自从执行 1 级备份以来更改过的所有文件,以此类推。使用 tar 和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。 dump 具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行0 级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次 0 级备份。如果您在执行基于磁带的备份, dump 会自动跟踪多个卷。
跳过文件标记将被 dump 跳过的文件和目录是可以做到的。实现此目的的命令是 chattr ,它改变 ext2 和 ext3文件系统上的扩展属性。
chattr +d <filename>
上面的命令向文件添加一个标记,让 dump 在执行备份时跳过该文件。
使用 restore 来执行还原要还原使用 dump 保存的信息,可以使用 restore 命令。像 tar 一样, dump 能够列出( -t )归档文件的内容,并与当前文件作比较( -C )。使用 dump 時必须小心的地方是还原数据。有两种非常不同的还原方法,您必须使用正确的方法才能获得可预测的结果。
重建 (-r)记住,在设计 dump 时考虑得更多的是文件系统,而不是单独的文件。因此,存在两种不同的文件还原风格。要重建一个文件系统,可使用 -r 命令行开关。设计重建的目的是为了能在空文件系统上操作,并将它还原为已保存的状态。在执行重建之前,您应该已经创建、格式化和装载(mount)了该文件系统。不应该对包含文件的文件系统执行重建。
下面是使用上面执行的转储来执行完全重建的例子。
上面这个命令需要针对要还原的每个文件系统分别执行。
在需要的时候,可以重复这个过程来添加增量备份。
提取 (-x)如果需要使用单独的文件而不是使用整个文件系统,您必须使用 -x 开关来提取它们。例如,要仅从我们的磁带备份中提取/etc 目录,可使用以下命令:
1
| restore -xf /dev/nst0 /etc
|
交互式还原 (-i)restore 提供的另外一个特性是交互式模式。使用命令:
将把您置于交互式 shell 中,同时还显示了包含在该归档文件中的项。键入“help”将会显示一个命令列表。然后您就可以浏览并选择希望提取的项。务必记住,您提取的任何文件都将进入当前目录。
dump 与 tardump 和 tar 都有一批拥护者。两者都各有优点和缺点。如果您运行的是除 ext2或 ext3 之外的任何文件系统,那么 dump 就对您不可用。然而如果不是这种情况,那么只需最少的脚本就能运行 dump ,并且 dump 还具有可用于帮助还原的交互式模式。
我倾向于使用 tar ,因为我喜欢编写脚本来获得额外的控制级别。此外还有用于操作 .tar 文件的多平台工具。 |
|
|
|
|
|