DUMP(1M) DUMP(1M)
NAME
dump, rdump - incremental file system dump
SYNOPSIS
/sbin/dump [ key [ argument ... ] ] filesystem
/sbin/rdump [ key [ argument ... ] ] filesystem
DESCRIPTION
dump backs up all files in filesystem, or files changed after a certain
date to magnetic tape or files. The key specifies the date and other
options about the dump. Key consists of characters from the set
0123456789fusCcdbWwn. Any arguments supplied for specific options are
given as subsequent words on the command line, in the same order as that
of the options listed.
If no key is given, the key is assumed to be 9u and the filesystem
specified is dumped to the default tape device /dev/tape.
0-9 This number is the `dump level'. All files modified since the last
date stored in the file /etc/dumpdates for the same filesystem at
lesser levels will be dumped. If no date is determined by the
level, the beginning of time is assumed; thus the option 0 causes
the entire filesystem to be dumped. For instance, if you did a
"level 2" dump on Monday, followed by a "level 4" dump on Tuesday, a
subsequent "level 3" dump on Wednesday would contain all files
modified or added to the filesystem since the "level 2" (Monday)
backup. A "level 0" dump copies the entire filesystem to the
dump volume.
f Place the dump on the next argument file instead of the default tape
device /dev/tape. If the name of the file is ``-'', dump writes to
standard output. If the name of the file is of the format
machine:device the filesystem is dumped across the network to the
remote machine. Since dump is normally run by root, the name of the
local machine must appear in the .rhosts file of the remote machine.
If the file name argument is of the form user@machine:device, dump
will attempt to execute as the specified user on the remote machine.
The specified user must have a .rhosts file on the remote machine
that allows root from the local machine. dump creates a remote
server, /etc/rmt, on the client machine to access the tape device.
u If the dump completes successfully, write the date of the beginning
of the dump on file /etc/dumpdates. This file records a separate
date for each filesystem and each dump level. The format of
/etc/dumpdates is readable by people, consisting of one free format
record per line: filesystem name, increment level and ctime(3C)
format dump date. /etc/dumpdates may be edited to change any of the
fields, if necessary.
s The size of the dump tape is specified in feet. The number of feet
is taken from the next argument. When the specified size is reached,
dump will prompt the operator and wait for the reel/volume to be
Page 1
DUMP(1M) DUMP(1M)
changed. The default tape size for the standard 9 track half inch
reels is 2400 feet. The default for cartridge tapes is an effective
tape length of 5400 feet, and this assumes a 9-track QIC-24 tape
whose physical tape length is 600 feet. See note on cartridge tapes
parameters below.
d The density of the tape, expressed in BPI (bytes per inch), is taken
from the next argument. This is used in calculating the amount of
tape used per reel. The default is 1600 BPI, except for the
cartridge tape which has a default density of 1000 BPI. Unless a
higher density is specified explicitly, dump uses its default
density - even if the tape drive is capable of higher-density
operation (for instance 6250 BPI). If the density specified does
not correspond to the density of the tape device being used, dump
will not be able to handle end-of-tape properly.
b The blocking factor (number of 1 Kbyte blocks written out together)
is taken from the next argument. The default is 10. The default
blocking factor for tapes of density 6250 BPI and greater is 32. If
values larger than 32 are used, restore will not correctly determine
the block size unless the b option is also used. To maximize tape
utilization, use a blocking factor which is a multiple of 8. For
most types of supported tape drives, the greatest capacity and tape
throughput is obtained using a blocking factor of 128 or even
larger; note that restore(1m) will only automatically determine the
blocking factor if it is 32 or less.
C This specifies the total tape capacity in 1K blocks, overriding the
c, s, and d arguments if they are also given. No adjustment is made
for possible inter-record gaps, or lost capacity due to stop/start
repositioning, so it isn't necessary to guess how the dump algorithm
for these factors will affect the parameters. Since they aren't
taken into account, and there may also be lost capacity due to
retries on media errors (by the drive), one should be conservative
when specifying capacity.
The argument is parsed with strtoul(3), so it may be in any base
(e.g., a 0x prefix specifies a hex value, a 0 prefix specifies
octal, no prefix is decimal). The argument may have a k, K, m, or M
suffix. The first two multiply the value by 1024, the 3rd and 4th
multiple by 1048576, so a tape with a 2.2 Gbyte capacity might be
specified as C 2m allowing 10% loss to retries, etc.
c Indicates that the tape is a cartridge tape instead of the standard
default half-inch reel. This should always be specified when using
cartridge tapes. The values for blocking factor, size and density
are taken to be 10 (1 KByte blocks), 5400 feet and 1000 BPI
respectively unless overridden with the 'b', 's' or 'd' option.
Cartridge tapes with multiple tracks have a greater effective length
which can be specified with the 's' option.
Page 2
DUMP(1M) DUMP(1M)
W dump tells the operator what file systems need to be dumped. This
information is gleaned from the files /etc/dumpdates and /etc/fstab.
The W option causes dump to print out, for each file system in
/etc/dumpdates the most recent dump date and level, and highlights
those file systems that should be dumped. The mnt_freq field in the
/etc/fstab entry of the file system must be non-zero for dump to
determine whether the file system should be dumped or not. If the W
option is set, no other option must be given, and dump exits
immediately.
w Is like W, but prints only those filesystems which need to be
dumped.
n Whenever dump requires operator attention, notify by means similar
to a wall(1) all of the operators in the group "operator".
dump reads the character device associated with the filesystem and dumps
the contents onto the specified tape device. It searches /etc/fstab to
find the associated character device.
NOTES
rdump is a link to dump.
Operator Intervention
dump requires operator intervention on these conditions: end of tape,
end of dump, tape write error, tape open error or disk read error (if
there are more than a threshold of 32). In addition to alerting all
operators implied by the n key, dump interacts with the operator on
dump's control terminal at times when dump can no longer proceed, or if
something is grossly wrong. All questions dump poses must be answered by
typing "yes" or "no", appropriately.
Since making a dump involves a lot of time and effort for full dumps,
dump checkpoints itself at the start of each tape volume. If writing
that volume fails for some reason, dump will, with operator permission,
restart itself from the checkpoint after the old tape has been rewound
and removed, and a new tape has been mounted.
dump reports periodically including usually the percentage of the dump
completed, low estimates of the number of blocks to write in 1 Kbyte (or
more strictly, TP_BSIZE units from <protocols/dumprestore.h>), the number
of tapes it will take, the time to completion, and the time to the tape
change. The estimated time is given as hours:minutes and is based on the
time taken to dump the blocks already on tape. It is normal for this
estimate to show variance and the estimate improves over time. The
output is verbose, so that others know that the terminal controlling dump
is busy, and will be for some time.
Suggested Dump Schedule
It is vital to perform full, "level 0, dumps at regular intervals. When
performing a full dump, bring the machine down to single-user mode using
shutdown -is, Otherwise the dump may not be internally consistent, and
Page 3
DUMP(1M) DUMP(1M)
may not restore correctly. While preparing for a full dump, it is a good
idea to clean the tape drive and heads (most types of drives require head
cleaning for approximately every 30 hours of tape motion).
Incremental dumps allow for convenient backup and recovery on a more
frequent basis of active files, with a minimum of media and time.
However there are some tradeoffs. First, the interval between backups
should be kept to a minimum (once a day at least). To guard against data
loss as a result of a media failure (a rare, but possible occurrence), it
is a good idea to capture active files on (at least) two sets of dump
volumes. Another consideration is the desire to keep unnecessary
duplication of files to a minimum to save both operator time and media
storage. A third consideration is the ease with which a particular
backed-up version of a file can be located and restored. The following
four-week schedule offers a reasonable tradeoff between these goals.
Sun Mon Tue Wed Thu Fri
Week 1: Full 5 5 5 5 3
Week 2: 5 5 5 5 3
Week 3: 5 5 5 5 3
Week 4: 5 5 5 5 3
Although the Tuesday - Friday incrementals contain "extra copies" of
files from Monday, this scheme assures that any file modified during the
week can be recovered from the previous day's incremental dump.
Dump Parameters
The following table gives a list of available tape formats, size and
densities. It is important that the correct parameters be given to dump,
if they are different from the defaults.
Parameters for cartridge tapes
Cartridge Interface QIC-24 QIC-120 QIC-150
Number of Tracks 9 15 18
Physical Tape Length (feet) 600 600 600
Effective Tape Length (feet) 5400 9000 10800
Cartridge tapes with multiple tracks have an greater effective length.
The tape lengths give above assume a physical tape length of 600 feet. In
general the effective tape length can be calculated by multiplying the
physical tape length by the number of tracks. Since some tape is usually
lost due to tape errors, and because dump does not handle end-of-tape
gracefully, it pays to be conservative in estimating the effective tape
length.
Parameters for half-inch tapes
Thickness
Reel Sizes (inches) 6.0 7.0 8.5 10.5
Tape Length (feet) 200 600 1200 2400 1.9 mm
3600 1.3 mm
Page 4
DUMP(1M) DUMP(1M)
The density for these tapes can be any one of the following: 800, 1600,
3200 or 6250 BPI.
Parameters for 8mm tapes
Tape Type length capacity
(meters) (Mbytes)
P5 (European) 112 2200
P6 (American) 112 2000
There was a bug in dump which causes it to miscalculate the number of
tapes required when it is given a large value for the density and a small
value for tape length. To work around this, a density of 54000 and length
of 6000 feet was recommended while using 8mm tapes, rather than the
actual density and length, now the calculations are done with floating
point numbers, so overflow is no longer an issue; with large capacity
drives such as the 8mm and 4mm, it is normally easier to specify capacity
as C 2000k, rather than trying to calculate a workable density and
length.
If you do not wish to use the C option, then when using drives with no
"inter-record gaps" (i.e., almost every type except 9-track), use the c
option, and the formula:
capacity in bytes = 7 * densityvalue * lengthvalue
and round down a bit to be conservative (allowing for block rewrites,
etc.). The density should be kept under 100000 to avoid overflows in the
capacity calculations. Thus, for a DAT drive with a 90 meter tape (2 *
10^9 capacity), one might use:
2000000000 = 7 * 47619 * 6000
or rounding down:
dump 0csd 6000 47000
EXAMPLES
/dev/usr /usr efs rw,raw=/dev/rdsk/dks0d1s6 0 0
Here are a few examples on how to dump the /usr filesystem with the above
/etc/fstab entry.
dump 0fuc guest@kestrel:/dev/tape /usr
will do a level '0' dump of /usr on to a remote cartridge tape device
/dev/tape on host kestrel using the guest account. dump also updates the
file /etc/dumpdates.
dump 2uc /usr
Page 5
DUMP(1M) DUMP(1M)
does a level '2' dump of /usr to the local cartridge tape device
/dev/tape and also updates the file /etc/dumpdates.
dump 0sdb 10800 1000 128 /usr
dump 0Cb 125k 128 /usr
does a level '0' dump of /usr to the local tape device /dev/tape using a
blocking factor of 128. The tape is specified to have a length of 10800
feet with a density of 1000 BPI (appropriate for a QIC150 drive) in the
first case, and a capacity of 125 Mbytes in the second, which allows for
retries, lost space to repositioning, etc., also appropriate for a QIC
150 quarter inch tape drive. The ordering of the arguments is dependent
on the ordering of the key.
dump 1sfc 10800 /dev/mt/tps0d7 /usr
dump 1sfc 10800 /dev/mt/tps0d7 /dev/rdsk/dks0d1s6
both do a level '1' dump of /usr to the local cartridge tape device
/dev/mt/tps0d7 using a tape length of 10800 feet.
dump /usr
does a level '9' dump of /usr to the local tape device /dev/tape and
updates the file /etc/dumpdates.
dump 9ucdsf 54000 6000 /dev/mt/tps0d6nrnsv /os
dump 9uCf 2048 /dev/mt/tps0d6nrnsv /os
dump 9uCf 2m /dev/mt/tps0d6nrnsv /os
All do a level '9' dump of /os to the local tape device
/dev/mt/tps0d6nrnsv using a tape density of 54000 BPI and tape length of
6000 feet where the tape device being used is an 8mm tape drive (there is
a slight difference in capacity between the first form and the others).
dump W
prints out, for each file system in /etc/dumpdates the most recent dump
date and level, and highlights those file systems that should be dumped.
FILES
/dev/tape default tape unit to dump to
/etc/dumpdates new format dump date record
/etc/fstab dump table: file systems and frequency
/etc/group to find group operator
Page 6
DUMP(1M) DUMP(1M)
SEE ALSO
restore(1M), dump(5), fstab(5), group(4), rmt(1M), rhosts(1M), mtio(7),
wall(1), shutdown(1M), ctime(3C)
DIAGNOSTICS
While running, dump emits many verbose messages.
Exit Codes
0 Normal exit.
1 Startup errors encountered.
3 Abnormal termination.
BUGS
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 options does not report filesystems that have never
been recorded in /etc/dumpdates, even if listed in /etc/fstab.
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.
It is recommended that incremental dumps also be performed with the
system running in single-user mode.
dump needs accurate information regarding the length and density of the
tapes used. It can dump the filesystem on multiple volumes, but since
there is no way of specifying different sizes for multiple tapes, all
tapes used should be at least as long as the specified/default length. If
dump reaches the end of the tape volume unexpectedly (as a result of a
longer than actual length specification), it will abort the entire dump.
Page 7
dump(5) dump(5)
NAME
dump, dumpdates - incremental dump format
SYNOPSIS
#include <sys/types.h>
#include <protocols/dumprestore.h>
DESCRIPTION
Tapes used by dump and restore(1M) contain:
a header record two groups of bit map records a group of records
describing directories a group of records describing files
The format of the header record and of the first record of each
description as given in the include file <protocols/dumprestore.h> is:
#define TP_BSIZE 1024
#define NTREC 10
#define LBLSIZE 16
#define NAMELEN 64
#define TS_TAPE 1
#define TS_INODE 2
#define TS_BITS 3
#define TS_ADDR 4
#define TS_END 5
#define TS_CLRI 6
#define MAGIC (int) 60011
#define CHECKSUM (int) 84446
struct spcl {
int c_type;
time_t c_date;
time_t c_ddate;
int c_volume;
daddr_t c_tapea;
ino_t c_inumber;
int c_magic;
int c_checksum;
struct bsd_dinode c_dinode;
int c_count;
char c_addr[TP_BSIZE/2];
char c_label[LBLSIZE];
long c_level;
char c_filesys[NAMELEN];
char c_dev[NAMELEN];
long c_flags;
} spcl;
struct idates {
char id_name[255];
char id_incno;
Page 1
dump(5) dump(5)
time_t id_ddate;
};
#define DUMPOUTFMT "%-16s %c %s"
#define DUMPINFMT "%[^ ] %c %[^\n]\n"
TP_BSIZE is the size of file blocks on the dump tapes. NTREC is the
default number of 1024 byte records in a physical tape block (blocking
factor).
The TS_ entries are used in the c_type field to indicate what sort of
header this is. The types and their meanings are as follows:
TS_TAPE Tape volume label
TS_INODE A file or directory follows. The c_dinode field is a copy
of the disk inode and contains bits indicating the type of
the file.
TS_BITS A bit map follows. This bit map has a one bit for each
inode that was dumped.
TS_ADDR A subrecord of a file description. See c_addr below.
TS_END End of tape record.
TS_CLRI A bit map follows. This bit map contains a zero bit for all
inodes that were empty on the filesystem when dumped.
MAGIC All header records have this number in c_magic.
CHECKSUM Header records checksum to this value.
The fields of the header structure are as follows:
c_type The type of the header.
c_date The date the dump was taken.
c_ddate The date the filesystem was dumped from.
c_volume The current volume number of the dump.
c_tapea The current number of this (1024-byte) record.
c_inumber The number of the inode being dumped if this is of type
TS_INODE.
c_magic This contains the value MAGIC above, truncated as needed.
c_checksum This contains whatever value is needed to make the record
sum to CHECKSUM.
c_dinode This is a copy of the inode as it appears on the filesystem.
Extent File System (see fs(4)) disk inodes differ from the
Berkeley Fast File System inode format. Dump converts EFS
disk inodes to Berkeley's format, before dumping them on
tape.
c_count The count of characters in c_addr.
c_addr An array of characters describing the blocks of the dumped
file. A character is zero if the block associated with that
character was not present on the filesystem, otherwise the
character is non-zero. If the block was not present on the
filesystem, no block was dumped; the block will be restored
as a hole in the file. If there is not sufficient space in
this record to describe all of the blocks in a file, TS_ADDR
records will be scattered through the file, each one picking
Page 2
dump(5) dump(5)
up where the last left off.
c_label Dump label.
c_level Level of this dump. See dump(1M).
c_filesys Name of the dumpped filesystem.
c_dev Name of the dump device.
c_host Name of the dumpped host.
c_flags Additional information.
Each volume except the last ends with a tapemark (read as an end of
file). The last volume ends with a TS_END record and then the tapemark.
The structure idates describes an entry in the file /etc/dumpdates where
dump history is kept. The fields of the structure are:
id_name The dumped filesystem is `/dev/id_nam'.
id_incno The level number of the dump tape; see dump(1M).
id_ddate The date of the incremental dump in system format see types(5).
FILES
/etc/dumpdates
SEE ALSO
dump(1M), restore(1M), fs(4), types(5)