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