分页: 1 / 1

OpenBSD系统管理员手册——DUMP(8)

发表于 : 2011-06-22 0:41
leo
说明:
没有真实的测试环境,很多只能凭借臆断,望大家挑错。:)

DUMP(8) OpenBSD System Manager's Manual DUMP(8)

名称
[INDENT]dump - 文件系统备份
[/INDENT]语法
[INDENT]dump [-0123456789acnuWw] [-B records] [-b blocksize] [-d density] [-f file] [-h level] [-s feet] [-T date] files-to-dump
[/INDENT]描述
[INDENT]dump 检查文件系统上的文件并确定哪些文件需要备份。这些文件将被拷贝到指定磁盘、磁带机或其它存储介质来实现数据安全,一个 dump 如果大于输出介质,则其会被分成多个volumes。 dump对多数介质进行写操作时是通过一个返回的“end-of-media”来侦测介质的大小。这可以通过一个 -a 选项来强制指定。

可以通过网络进行 dump 操作, dump 取代了旧程序 rdump 的功能 (尽管仍旧可以通过rdump来调用dump)。请参阅 -f 选项以了解向远程主机写入备份数据。

文件可以用 chflags(1) 标记上 ``nodump'' 标签, 这类标记操作只能由文件属主或超级用户来完成。拥有此标签的文件只在进行“full backup”操作时才会被dump。也请参阅下面的 -h 选项。

在那些不能可靠地返回 “end-of-media” 信息的介质(例如一些盒式磁带机)上,每个 volume 的大小是固定的; 实际大小由磁带的尺寸、磁密度和/或下面的 block count 选项决定。默认情况下, 每个 volume 使用同一个输出的文件名,这个文件名是操作者变更介质时在提示符后指定的。

备份操作完成后,在磁带机上的倒带和退带功能要根据磁带设备使用的名称。请参阅 -f 选项和 st(4) 以获取更多的信息。

可用选项如下:

-0-9
[INDENT]Dump 级别。0代表full backup(完全备份), 确保备份整个文件系统 (不过也请注意下面的 -h 选项)。大于0的级别表示增量备份, 它指示 dump 拷贝那些“上一次低级别备份”以后的系统内的新文件和修改的文件。默认级别是 0。
[/INDENT]-a
[INDENT]``auto-size''. 忽略所有考虑磁带长度的设置, 强制一直进行写操作直至收到 “an end-of-media” 的返回提示。我们推荐在所有的现代磁带机上开启这个选项。我们特别推荐在一个已经存储了数据的磁带上或者具有硬件压缩功能的磁带机上(你永远不知道其压缩率)进行追加写操作时使用此选项。
[/INDENT]-B records
[INDENT]每个volume的千字节数, 以blocksize的倍数下降。这个选项会覆盖长度和密度计算的磁带容量。
[/INDENT]-b blocksize
[INDENT]这个选项指定了每个dump记录的千字节数。因为 I/O 系统分块总以MAXBSIZE块 (一般是64KB)来计算, 如果使用了一个更大的块,则以后用restore(8)命令还原数据时会出问题,因此dump限制了写为MAXBSIZE。
[/INDENT]-c
[INDENT]将默认使用的盒式磁带机修改为密度为8000 bpi、长度是1700英尺的磁带机。
[/INDENT]-d density
[INDENT]将密度设置为density。默认值是 1600BPI.
[/INDENT]-f file
[INDENT]将备份写入到文件; 这里的 file 可以是一个特定的设备文件,例如 /dev/rst0 (一台磁带机), /dev/rsd1c (一个磁盘驱动器), 一个常规文件, 或者 `-' (标准输出)。也请参阅下面的环境变量 TAPE 。
用逗号分隔开的多个文件名代表一个参数。每个文件名按顺序表示一个 dump 的 volume; 如果某个 dump 需要的 volume 数多于文件名所提供的数量, 当出现更换介质的提示后,最后一个文件名会被应用到所有剩余的 volumes 上。如果文件的格式为``host:file'' 或者 ``user@host:file'', dump 会用 rmt(8) 将命名的文件写到远程的主机上。
[/INDENT]-h level
[INDENT]这里的h是Honor(此处暂翻译为信用),这个参数代表用户 ``nodump'' 标签(参考上面)的信用级别, 仅应用于等于或者大于给定级别的 dump 操作。默认的信誉级别是 1, 这样增加备份忽略这些文件,但是完全备份时仍会备份这些文件。
[/INDENT]-n
[INDENT]当 dump 需要operator操作时, 通知所有的列在 ``operator'' 组内的操作者,和 wall(1) 的含义相似。
[/INDENT]-s feet
[INDENT]在某个特定磁密度下是尝试计算所需的磁带长度,如果超过了这个长度,dump会提示更换新磁带。推荐在设置这个选项时留有一些余量。默认的磁带长度是 2300 英尺。
[/INDENT]-T date
[INDENT]指定开始 dump 的日期,否则dump会根据 /etc/dumpdates 文件里的设定来进行备份。日期的格式与 ctime(3) 一致。这个选项对希望在某个时间段自动执行 dump 脚本很有效。 注意 -T 标签与 -u 标签互斥。
[/INDENT]-u
[INDENT]成功执行一次 dump 后更新 /etc/dumpdates 文件。 /etc/dumpdates 文件格式是用户可识别的格式,每行包含一个自由格式的记录: 文件系统名, 增量级别和 ctime(3) 格式的 dump 日期。 在每个级别里的每个文件系统可能仅包含一个条目。如果需要,可以编辑这个文件里的任何地方。如果备份了一系列文件或者子目录 (相对于整个文件系统), 那么 -u 选项会被忽略。
[/INDENT]-W
[INDENT]dump 告诉操作人员哪些文件系统需要备份。这个信息是从文件 /etc/dumpdates 和 /etc/fstab 里收集的。如果使用 -W 标签,则 dump 会将每个文件系统输出到 in /etc/dumpdates 里, 最新的 dump 日期和级别以及高亮显示那些应该备份的文件系统。如果指定了 -W 标签, 所有其它的选项会被忽略,而且 dump 会立即退出。
[/INDENT]-w
[INDENT]和 -W 一样,不过仅打印出需要备份的文件系统。
[/INDENT]files-to-dump 既可以是某个文件系统的挂载点,也可以是单个文件系统上的一系列文件和目录(文件系统的一个子集)。正规使用时既可以用已挂载好的某个文件系统的路径,也可以用某个未挂载的文件系统的设备来表示。后一种情况下备份时有一些特定限制: -u 选项一般会被忽略, 唯一支持的 dump 级别是 -0, 而且所有的文件必须在同一个文件系统里。

dump 在下列状态时需要操作者进行干预: 磁带用完, dump结束, 磁带写错误, 磁带打开错误或磁盘写入错误 (如果阀值超过32)。此外,除非操作者指定了 -n 标签, dump 会在无法继续时在控制台与操作者进行交互, 否则有地方肯定会出错。操作者回答 dump 的问题时只能用 ``yes'' 或者 ``no''。

因为做一次完全的 dump 要耗费大量的时间和工作量, dump 会对每个磁带 volume 执行写操作前对自己进行状态点检查。如果因为某些原因写入 volume 失败, dump 会要求得到操作者的许可, 以便重新在重新倒带、删除旧的数据或者在新的磁带 mount 好后启动至上一个状态检查点。

dump 会告诉操作者在周期性间断时发生了什么, 包括一般低估了的要写入的block数, 要用的磁带数, 完成所需的时间, 以及更换磁带的时间。输出很详尽, 所以操作者就知道dump的工作会持续一段时间。

如果在备份时 dump 收到一个 SIGINFO 信号 (参看 stty(1) 的``status''参数), 就会在标准错误输出里包含完成量的统计信息、当前的传输率、以及估算的完成时间。

当出现灾难性磁盘事件、需要将所有必须的备份磁带或文件还原到磁盘时要依赖 dump 的采用的级别。有些方法可以让大型增量备份/还原工作事半功倍:

o 首次备份永远使用级别0, 例如:

代码: 全选

# /sbin/dump -0u -f /dev/nrst1 /usr/src

这应该在设置的周期完成, 假设是一个月一次或者两个月一次, 并且用全新的磁带来永久性保存。

o 在完成 0 级 dump 后, 应该在每周的固定时间对动态文件系统进行备份。每周固定一天执行一次的 1 级备份。每周的其它日子里都执行一次更高级别的备份。

下面的周期至多需要三盘磁带来还原到给定的时间点, 但是这些 dumps 在周期内的每周末需要更多的时间和空间:

1 2 2 2 2 2 2

下面的序列最多需要8盘磁带进行还原, 但是每次单独 dump 的数据量会比较小:

1 2 3 4 5 6 7

下面的序列在尝试在备份和还原工作量之间寻找一种平衡:

1 2 2 3 3 4 4

每周的1级 dump 应该在周期性使用的一组磁带上完成。 每周的日常备份可以使用同一盘磁带。

o 经过几个月或者类似的时间, 应该用新磁带更新日常备份所用的磁带了。
[/INDENT]环境
[INDENT]TAPE
[INDENT]默认用来替代 /dev/rst0 的文件。也请参考上面的 -f 选项。
[/INDENT][/INDENT]文件
/dev/rst0
[INDENT]默认情况下 dump 将数据备份到该磁带设备里
[/INDENT]/dev/rst*
[INDENT]raw SCSI 磁带接口
[/INDENT]/etc/dumpdates
[INDENT]dump 数据记录
[/INDENT]/etc/fstab
[INDENT]dump table: 文件系统和频率
[/INDENT]/etc/group
[INDENT]用以发现操作组
[/INDENT]诊断
[INDENT]Many, and verbose.

dump 退出时返回0表示成功。返回代码为1表示启动有错误则; 返回代码为3表示异常终止。
[/INDENT]其它相关资料
[INDENT]chflags(1), stty(1), fts(3), rcmd(3), st(4), fstab(5), restore(8), rmt(8)
[/INDENT]历史
[INDENT]A dump command appeared in Version 5 AT&T UNIX.

The 4.3BSD option syntax is implemented for backward compatibility but is
not documented here.
[/INDENT]BUGS
[INDENT]Fewer than 32 read errors on the filesystem are ignored.

Each reel requires a new process, so parent processes for reels already
written just hang around until the entire tape is written.

dump with the -W or -w flag does not report filesystems that have never
been recorded in /etc/dumpdates, even if listed in /etc/fstab.

When dumping a list of files or subdirectories, access privileges are
required to scan the directory (as this is done via the fts(3) routines
rather than directly accessing the filesystem).

It would be nice if dump knew about the dump sequence, kept track of the
tapes scribbled on, told the operator which tape to mount when, and
provided more assistance for the operator running restore(8).
[/INDENT]OpenBSD 4.9 January 26, 2008 OpenBSD 4.9