Linux dump 命令

Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux dump 命令。

1、命令简介

dump:用于备份文件系统 ,

2、命令用法

dump [-level#] [-ackMnqSuv] [-A file] [-B records] [-b blocksize] [-d density] [-D file] [-e inode numbers] [-E file] [-f file] [-F script] [-h level] [-I nr errors] [-jcompression level] [-L label] [-Q file] [-s feet] [-T date] [-y] [-zcompression level] files-to-dump
dump [-W | -w]

3、命令描述

Dump检查ext2/3文件系统上的文件,并确定需要备份哪些文件。这些文件被复制到指定的磁盘、磁带或其他存储介质中以安全保存(关于远程备份,请参阅下面的-f选项)。大于输出介质的dump被分解成多个卷。在大多数媒体上,大小是通过写入来确定的,直到返回一个媒体结束指示。

在不能可靠地返回介质结束指示的介质上(如一些磁带机),每个卷的大小是固定的;实际大小是由指定磁带介质决定的,或通过磁带大小,密度和/或下面的块计数选项。默认情况下,在提示操作员更改介质后,每个卷使用相同的输出文件名。

文件dump是文件系统的一个挂载点,或者是作为文件系统子集进行备份的文件和目录列表。在前一种情况下,既可以使用挂载文件系统的路径,也可以使用未挂载文件系统的设备。在后一种情况下,对备份进行了某些限制:不允许-u,唯一支持的转储级别是0,所有文件和目录必须位于同一个文件系统上。

4、命令选项

选项

描述

-level#

dump 级别(任意整数)。0级,即完全备份,

保证复制整个文件系统(但请参见 -h 选项)。

高于0的级别数字表示增量备份 dump

复制自上次较低级 dump 以来新建或修改的所有文件。

缺省级别为0。在过去,dump中只能使用级别0到9,

这个版本可以将任何整数理解为dump级别。

-a

“auto-size”. 绕过所有磁带长度计算,

并写入直到返回介质结束指示。这对大多数现代磁带驱动器最有效,

并且是默认设置。

附加到现有磁带

或使用带硬件压缩的磁带驱动器(永远无法确定压缩比)时,

特别推荐使用此选项。

-A

 archive_file

在restore(8)所使用的指定archive_file中归档一个在dump内容表,

以确定某个文件是否在正在恢复的dump文件中。

-b

 blocksize

每个dump记录的千字节数。默认的块大小是10,

除非使用-d选项指定了6250BPI或更高的磁带密度,

在这种情况下,默认的块大小是32。

第一个最大值为1024。但是请注意,

由于IO系统将所有请求分片为MAXBSIZE(可以低至64kB)块,

因此当使用更高的值时,可能会遇到dump(8)和restore(8)的问题,

这取决于内核和/或libC版本。

-B

 records

每个卷的1kb块的数量。通常不需要,

因为dump可以检测到媒体结束。

当达到指定的大小时,转储将等待您更改卷。

这个选项覆盖了基于长度和密度的磁带大小的计算。

如果进行压缩,则会限制每个卷的压缩输出的大小。

可以用逗号分隔的单个参数给出多个值。

每个值将按照列出的顺序用于一个dump卷;

如果dump创建的卷超过给定值的数量,

则最后一个值将用于剩余的卷。

这对于填充已经部分填充的媒体

(然后继续在空媒体上使用全尺寸卷)

或不同尺寸的混合媒体是有用的。

-c

-c更改用于磁带驱动器的默认值,

其密度为8000 bpi,

长度为1700英尺。

指定磁带驱动器将重写介质结束检测。

-d

 density

设置“磁带密度”为“density”。

缺省值为1600BPI。

指定磁带密度将覆盖介质结束检测。

-D

 file

置保存以前的完全dump和增量dump信息的文件的路径名称。

默认位置是/etc/dumpdates

-e

 inodes

从dump中排除索引节点。

inodes参数是一个用逗号分隔的inode编号列表

(可以使用stat(1)查找文件或目录的inode编号)。

-E

 file

从文本文件文件中读取要从dump中排除的inode列表。

文件文件应该是一个普通文件,

其中包含由换行符分隔的inode编号。

-f

 file

将备份写入文件;File可以是特殊的设备文件,

如/dev/st0(磁带机)、/dev/rsd1c(软盘驱动器)、

普通文件或-(标准输出)。

多个文件名可以用逗号分隔为一个参数。

每个文件将按照列出的顺序用于一个dump卷;

如果dump所需的卷数量超过给定名称的数量,

则在提示更改媒体后,

将对所有剩余卷使用最后一个文件名。

如果文件的名称是host:file或user@host:file dump的形式,

则使用rmt(8)将文件写入远程主机上的命名文件(该文件应该已经存在,

dump不会创建新的远程文件)。

远程rmt(8)程序的默认路径名称为/etc/rmt;这可以由环境变量RMT重写。

-F

 script

在每一盘磁带(最后一盘除外)的末尾运行script。

在命令行上传递设备名称和当前卷号。

如果dump应该继续,而不要求用户更改磁带,

脚本必须返回0;如果转储应该继续,

但要求用户更改磁带,脚本必须返回1。

任何其他退出代码都将导致dump终止。

出于安全考虑,在运行脚本之前,

dump会返回真实的用户ID和真实的组ID。

-h

 level

只有在给定级别或以上的dump文件时,

才使用用户的nodump标志UF_NODUMP。

默认的级别是1,因此增量备份省略这些文件,

而完全备份保留它们。

-I

 nr errors

默认情况下,

dump将在请求操作员干预之前忽略文件系统上的前32个读错误。

可以使用该标志将其更改为任何值。

当在活动文件系统上运行dump时,

这很有用,因为读取错误只是表明映射和转储传递之间不一致。

值为0意味着所有读取错误都将被忽略。

-j

compression level

使用bzlib库压缩要写入磁带的每个块。

此选项仅在转储到文件或管道时有效,

或者在转储到磁带机时,

如果磁带机能够写入可变长度的块。

至少需要0.4b24版本的

恢复

以便提取压缩磁带。

使用压缩方式写入的磁带将不兼容BSD磁带格式。

(可选)参数指定bzlib将使用的压缩级别。

默认的压缩级别为2。

如果指定了可选参数,选项字母和参数之间不应该有空格。

-k

使用Kerberos认证与远程磁带服务器通信。

(仅当在编译dump时启用此选项时可用。)

-L

 label

用户提供的文本字符串标签放在转储头中,

restore(8)和file(8)等工具可以访问它。

注意,这个标签被限制为最多LBLSIZE(目前是16)字符,

它必须包括终止\0。

-m

如果指定了该标志,

dump将优化自上次dump以来已经更改

但未修改的索引节点的输出(' changed '

和' modified '的含义在stat(2)中定义)。

对于这些索引节点,dump将只保存元数据,

而不是保存整个索引节点的内容。

以常规方式保存目录或自上次转储以来已修改的inode。

这个标志的使用必须是一致的,

这意味着要么增量dump集中的每个转储都有这个标志,

要么没有。

如果使用此选项,

请注意许多从存档解压文件的程序

(例如tar, rpm, unzip, dpkg)

可能会将文件的mtimes设置为过去的日期。

如果修改后的mtime早于前一个级别的dump,

使用“dump -m”可能无法正确dump安装的文件。

使用这种“元数据”索引节点写入的磁带

将不兼容BSD磁带格式或旧版本的恢复。

-M

启用多卷特性。用f指定的名称被视为前缀,

并按顺序dump到001, 002 等等。

当转储到ext2分区上的文件时,

这很有用,可以绕过2GB的文件大小限制。

-n

每当dump需要操作员注意时,

通过类似于wall(1)的方法通知组operator中的所有操作员。

-q

当需要操作员注意时,

立即中止dump,而不提示写入错误,磁带更改等。

-Q

 file

启用快速文件访问支持。

每个索引节点的磁带位置被dump到

恢复使用的文件文件中(如果使用参数-Q和文件名调用),

以直接将磁带定位到恢复当前工作的文件中。

这节省了从大型备份中恢复单个文件的时间,

节省了磁带和驱动器的磁头。

建议在使用参数-Q调用dump/restore之前

将st驱动设置为返回逻辑磁带位置,

而不是物理磁带位置。

由于不是所有磁带设备都支持物理磁带位置,

当st驱动程序设置为默认物理设置时,

这些磁带设备在dump/restore 期间返回错误。

请参阅st(4)手册页,MTSETDRVBUFFER选项,

或mt(1)手册页,关于如何设置驱动程序返回逻辑磁带位置。

在使用参数-Q调用restore之前,

总是确保将st驱动程序设置为

返回dump调用期间使用的相同类型的磁带位置。

否则恢复可能会混乱。

当dump到本地磁带(见上面)或本地文件时,

可以使用此选项。

-s

 feet

试着计算在特定密度下需要多少胶带。

如果超过这个数量,则dump提示创建新磁带。

建议在这个选项上稍微保守一点。

默认磁带长度为2300英尺

。指定磁带大小将覆盖介质结束检测。

-S

大小的估计。确定执行dump所需的空间量,

并显示dump所需的估计字节数。

这对于增量dump非常有用,

可以确定需要多少卷的媒体。

-T

 date

使用指定的日期作为dump的开始时间,

而不是通过查看/etc/dumpdates确定的时间。

date的格式与ctime(3)后面

跟着rfc822时区规范的格式相同:

加号或减号后面跟着两个数字表示小时数,

两个数字表示分钟。

例如,格林威治以西8小时为-0800,

格林威治以东2小时半为+0230。

此时区偏移量考虑到夏令时(如果适用于该时区):

夏令时生效时的UTC偏移量与夏令时不生效时的偏移量不同。

为了向后兼容,如果没有指定时区,

则假定本地时间。

这个选项对于希望在特定时间内dump的自动转储脚本非常有用。

-T选项和-u选项互斥。

-u

dump成功后更新/etc/dumpdates文件。

/etc/dumpdates的格式是可读的,

每行包含一条自由格式记录:文件系统名称、

增量级别和ctime(3)格式dump日期后

跟rfc822时区规范(请参阅-u选项了解详细信息)。

如果没有指定时区偏移量,则时间被解释为本地时间。

无论何时写入文件,

文件中的所有日期都将转换为本地时区,

而不更改UTC时间。在每个级别上,

每个文件系统可能只有一个条目。如果需要,

可以编辑/etc/dumpdates文件以更改任何字段。

-v

-v (verbose)使dump输出在调试会话中可能有用的额外信息。

-W

Dump告诉操作员需要dump哪些文件系统。

这些信息是从/etc/dumpdates和/etc/fstab文件中收集的。

对于/etc/dumpdates中的所有文件系统,

以及/etc/mtab和/etc/fstab中可识别的文件系统,

使用-W选项将dump打印出来。

最近的转储日期和级别,

并突出显示应该dump的那些。如果设置了-W选项,

则忽略所有其他选项,并立即退出dump。

-w

类似于-W,但只打印/etc/mtab

和/etc/fstab中需要dump的可识别文件系统。

-y

使用lzo库压缩要写入磁带的每个块。

它的压缩性能不如zlib库,但速度要快得多。

此选项仅在dump到文件或管道时有效,

或者在dump到磁带机时,

如果磁带机能够写入可变长度的块。

您至少需要0.4b34版本的恢复才能提取压缩的磁带。

使用压缩方式写入的磁带将不兼容BSD磁带格式。

-z

compression level

使用zlib库压缩要写入磁带的每个块。

此选项仅在转储到文件或管道时有效,

或者在转储到磁带机时,

如果磁带机能够写入可变长度的块。

至少需要0.4b22版本的

恢复

以便提取压缩磁带。

使用压缩方式写入的磁带将不兼容BSD磁带格式。

(可选)参数指定zlib将使用的压缩级别。

默认的压缩级别为2。

如果指定了可选参数,

选项字母和参数之间不应该有空格。

环境变量:

变量名

描述

TAPE

如果没有指定-f选项,

则dump将使用通过TAPE

指定的设备作为dump设备。

磁带的形式可以是tapename、

host:tapename或user@host:tapename。

RMT

环境变量RMT

将用于确定远程RMT(8)程序的路径名。

RSH

Dump使用这个变量的内容

来确定在进行远程备份(rsh、SSH等)时

使用的远程shell命令的名称。

如果未设置此变量,rcmd(3)将被使用,

但只有root能够做远程备份。

5、使用示例

1)备份文件系统 / 到 SCSI 磁带设备

dump 0f /dev/nst0/

2)备份文件系统/boot到 SCSI 磁带设备:

dump 0f /dev/nst0 /boot

3)备份文件到磁带

dump -0 -u /dev/tape /home/cjavapy


推荐阅读
cjavapy编程之路首页