Provided by: dump_0.4b44-4_amd64 bug

NAME

       dump - ext2/3/4 filesystem backup

SYNOPSIS

       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]

DESCRIPTION

       Dump  examines  files  on  an  ext2/3/4 filesystem and determines which files need to be backed up. These
       files are copied to the given disk, tape or other storage medium for safe  keeping  (see  the  -f  option
       below  for  doing  remote  backups). A dump that is larger than the output medium is broken into multiple
       volumes. On most media the size is determined by writing until an end-of-media indication is returned.

       On media that cannot reliably return an end-of-media indication (such as  some  cartridge  tape  drives),
       each  volume  is of a fixed size; the actual size is determined by specifying cartridge media, or via the
       tape size, density and/or block count options below. By default, the same output file name  is  used  for
       each volume after prompting the operator to change media.

       files-to-dump  is  either a mountpoint of a filesystem or a list of files and directories to be backed up
       as a subset of a filesystem. In the former case, either the path to a mounted filesystem or the device of
       an  unmounted  filesystem can be used. In the latter case, certain restrictions are placed on the backup:
       -u is not allowed, the only dump level that is supported is 0 and all  the  files  and  directories  must
       reside on the same filesystem.

OPTIONS

       The following options are supported by dump:

       -level#
              The  dump  level (any integer). A level 0, full backup, specified by -0 guarantees the entire file
              system is copied (but see also the -h option below). A level number above 0,  incremental  backup,
              tells  dump  to  copy  all files new or modified since the last dump of a lower level. The default
              level is 0. Historically only levels 0 to  9  were  usable  in  dump,  this  version  is  able  to
              understand any integer as a dump level.

       -a     “auto-size”.  Bypass  all  tape length calculations, and write until an end-of-media indication is
              returned.  This works best for most modern tape drives, and is the default. Use of this option  is
              particularly  recommended  when appending to an existing tape, or using a tape drive with hardware
              compression (where you can never be sure about the compression ratio).

       -A archive_file
              Archive a dump table-of-contents in the  specified  archive_file  to  be  used  by  restore(8)  to
              determine whether a file is in the dump file that is being restored.

       -b blocksize
              The  number  of  kilobytes  per dump record. The default blocksize is 10, unless the -d option has
              been used to specify a tape density of 6250BPI or more, in which case the default blocksize is 32.
              Th  maximal value is 1024.  Note however that, since the IO system slices all requests into chunks
              of MAXBSIZE (which can be as low as 64kB), you can experience problems with dump(8) and restore(8)
              when using a higher value, depending on your kernel and/or libC versions.

       -B records
              The number of 1 kB blocks per volume. Not normally required, as dump can detect end-of-media. When
              the specified size is reached, dump waits for you to change the volume.  This option overrides the
              calculation of tape size based on length and density. If compression is on this limits the size of
              the compressed output per volume.  Multiple values may be given as a single argument separated  by
              commas.   Each  value  will  be used for one dump volume in the order listed; if dump creates more
              volumes than the number of values given, the last value will be used for  the  remaining  volumes.
              This  is  useful for filling up already partially filled media (and then continuing with full size
              volumes on empty media) or mixing media of different sizes.

       -c     Change the defaults for use with a cartridge tape drive, with a density of 8000 bpi, and a  length
              of 1700 feet. Specifying a cartridge drive overrides the end-of-media detection.

       -d density
              Set tape density to density.  The default is 1600BPI. Specifying a tape density overrides the end-
              of-media detection.

       -D file
              Set the path name of the file storing the information about  the  previous  full  and  incremental
              dumps. The default location is /var/lib/dumpdates.

       -e inodes
              Exclude inodes from the dump. The inodes parameter is a comma separated list of inode numbers (you
              can use stat(1) to find the inode number for a file or directory).

       -E file
              Read list of inodes to be excluded from the dump from the text file file.  The file file should be
              an ordinary file containing inode numbers separated by newlines.

       -f file
              Write  the  backup  to  file;  file  may  be  a  special device file like /dev/st0 (a tape drive),
              /dev/rsd1c (a floppy disk drive), an ordinary file, or -  (the  standard  output).  Multiple  file
              names  may  be given as a single argument separated by commas. Each file will be used for one dump
              volume in the order listed; if the dump requires more volumes than the number of names given,  the
              last  file name will used for all remaining volumes after prompting for media changes. If the name
              of the file is of the form host:file or user@host:file dump writes to the named file on the remote
              host  (which  should  already  exist,  dump  doesn't  create a new remote file) using rmt(8).  The
              default path name of the remote rmt(8)  program  is  /etc/rmt;  this  can  be  overridden  by  the
              environment variable RMT.

       -F script
              Run  script  at  the  end of each tape (except for the last one).  The device name and the current
              volume number are passed on the command line. The script must return 0  if  dump  should  continue
              without  asking  the user to change the tape, 1 if dump should continue but ask the user to change
              the tape. Any other exit code will cause dump to abort. For security reasons, dump reverts back to
              the real user ID and the real group ID before running the script.

       -h level
              Honor  the  user  nodump  flag  UF_NODUMP only for dumps at or above the given level.  The default
              honor level is 1, so that incremental backups omit such files but full backups retain them.

       -I nr errors
              By default, dump will ignore the first 32 read  errors  on  the  file  system  before  asking  for
              operator  intervention.  You  can  change  this  using this flag to any value. This is useful when
              running dump on an active filesystem where read errors simply indicate  an  inconsistency  between
              the mapping and dumping passes.

              A value of 0 means that all read errors will be ignored.

       -jcompression level
              Compress  every  block  to  be written on the tape using bzlib library. This option will work only
              when dumping to a file or pipe or, when dumping to a tape drive, if the tape drive is  capable  of
              writing  variable  length blocks. You will need at least the 0.4b24 version of restore in order to
              extract compressed tapes. Tapes written using compression will not be compatible with the BSD tape
              format.  The  (optional)  parameter  specifies  the  compression level bzlib will use. The default
              compression level is 2. If the optional parameter is specified, there should  be  no  white  space
              between the option letter and the parameter.

       -k     Use  Kerberos  authentication  to  talk to remote tape servers. (Only available if this option was
              enabled when dump was compiled.)

       -L label
              The user-supplied text string label is placed into the dump header, where  tools  like  restore(8)
              and  file(8)  can  access it. Note that this label is limited to be at most LBLSIZE (currently 16)
              characters, which must include the terminating \0.

       -m     If this flag is specified, dump will optimise the output for inodes having been  changed  but  not
              modified  since the last dump ('changed' and 'modified' have the meaning defined in stat(2) ). For
              those inodes, dump will save only the metadata, instead  of  saving  the  entire  inode  contents.
              Inodes  which  are  either  directories  or  have been modified since the last dump are saved in a
              regular way. Uses of this  flag  must  be  consistent,  meaning  that  either  every  dump  in  an
              incremental dump set have the flag, or no one has it.

              If  you  use  this  option, be aware that many programs that unpack files from archives (e.g. tar,
              rpm, unzip, dpkg) may set files' mtimes to dates in the past.  Files installed in this way may not
              be dumped correctly using "dump -m" if the modified mtime is earlier than the previous level dump.

              Tapes written using such 'metadata only' inodes will not be compatible with the BSD tape format or
              older versions of restore.

       -M     Enable the multi-volume feature. The name specified with f is treated as a prefix and dump  writes
              in  sequence  to  <prefix>001,  <prefix>002  etc.  This  can be useful when dumping to files on an
              ext2/3/4 partition, in order to bypass the 2GB file size limitation.

       -n     Whenever dump requires operator attention, notify all operators in the  group  operator  by  means
              similar to a wall(1).

       -q     Make  dump abort immediately whenever operator attention is required, without prompting in case of
              write errors, tape changes etc.

       -Q file
              Enable the Quick File Access support. Tape positions for each inode are stored into the file  file
              which  is  used by restore (if called with parameter -Q and the filename) to directly position the
              tape at the file restore is currently working on. This saves hours  when  restoring  single  files
              from large backups, saves the tapes and the drive's head.

              It  is  recommended  to set up the st driver to return logical tape positions rather than physical
              before calling dump/restore with parameter -Q.  Since not all tape devices support  physical  tape
              positions  those tape devices return an error during dump/restore when the st driver is set to the
              default physical setting.  Please see the st(4) man page, option MTSETDRVBUFFER , or the mt(1) man
              page, on how to set the driver to return logical tape positions.

              Before calling restore with parameter -Q, always make sure the st driver is set to return the same
              type of tape position used during the call to dump.  Otherwise restore may be confused.

              This option can be used when dumping to local tapes (see above) or to local files.

       -s feet
              Attempt to calculate the amount of tape  needed  at  a  particular  density.  If  this  amount  is
              exceeded,  dump prompts for a new tape. It is recommended to be a bit conservative on this option.
              The default tape length is 2300 feet. Specifying the tape size overrides end-of-media detection.

       -S     Size estimate. Determine the amount of space that is needed to perform the dump  without  actually
              doing  it, and display the estimated number of bytes it will take. This is useful with incremental
              dumps to determine how many volumes of media will be needed.

       -T date
              Use the specified date as the starting time for the dump  instead  of  the  time  determined  from
              looking in /var/lib/dumpdates .  The format of date is the same as that of ctime(3) followed by an
              rfc822 timezone specification: either a plus or minus sign followed by two digits for  the  number
              of  hours and two digits for the minutes.  For example, -0800 for eight hours west of Greenwich or
              +0230 for two hours and a half east of Greenwich. This timezone offset takes into account daylight
              savings  time (if applicable to the timezone): UTC offsets when daylight savings time is in effect
              will be different than offsets  when  daylight  savings  time  is  not  in  effect.  For  backward
              compatibility,  if  no  timezone is specified, a local time is assumed.  This option is useful for
              automated dump scripts that wish to dump over a specific period of time. The -T option is mutually
              exclusive from the -u option.

       -u     Update  the  file  /var/lib/dumpdates after a successful dump. The format of /var/lib/dumpdates is
              readable by people, consisting of one free format record  per  line:  filesystem  name,  increment
              level and ctime(3) format dump date followed by a rfc822 timezone specification (see the -u option
              for details). If no timezone offset is specified, times are interpreted  as  local.  Whenever  the
              file  is written, all dates in the file are converted to the local time zone, without changing the
              UTC times. There may be only one entry per filesystem at each level. The  file  /var/lib/dumpdates
              may be edited to change any of the fields, if necessary.

       -v     The -v (verbose) makes dump to print extra information which could be helpful in debug sessions.

       -W     Dump  tells the operator what file systems need to be dumped. This information is gleaned from the
              files /var/lib/dumpdates and /etc/fstab.  The -W option causes dump to print  out,  for  all  file
              systems in /var/lib/dumpdates , and recognized file systems in /etc/mtab and /etc/fstab.  the most
              recent dump date and level, and highlights those that should be dumped. If the -W option  is  set,
              all other options are ignored, and dump exits immediately.

       -w     Is  like  -W,  but prints only recognized filesystems in /etc/mtab and /etc/fstab which need to be
              dumped.

       -y     Compress every block to be written to the tape using the lzo library.  This  doesn't  compress  as
              well  as the zlib library but it's much faster.  This option will work only when dumping to a file
              or pipe or, when dumping to a tape drive, if the tape drive is capable of writing variable  length
              blocks.   You  will  need  at  least  the 0.4b34 version of restore in order to extract compressed
              tapes. Tapes written using compression will not be compatible with the BSD tape format.

       -zcompression level
              Compress every block to be written on the tape using zlib library. This option will work only when
              dumping  to  a  file  or  pipe  or,  when dumping to a tape drive, if the tape drive is capable of
              writing variable length blocks. You will need at least the 0.4b22 version of restore in  order  to
              extract compressed tapes. Tapes written using compression will not be compatible with the BSD tape
              format. The (optional) parameter specifies the  compression  level  zlib  will  use.  The  default
              compression  level  is  2.  If the optional parameter is specified, there should be no white space
              between the option letter and the parameter.

       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 is more than a threshold of nr errors). 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  tells  the  operator what is going on at periodic intervals, including usually low estimates of the
       number of blocks to write, the number of tapes it will take, the time to completion, and the time to  the
       tape  change.  The output is verbose, so that others know that the terminal controlling dump is busy, and
       will be for some time.

       In the event of a catastrophic disk event, the time required to restore all the necessary backup tapes or
       files  to  disk  can  be  kept  to  a minimum by staggering the incremental dumps. An efficient method of
       staggering incremental dumps to minimize the number of tapes follows:

       —      Always start with a level 0 backup, for example:
                     /sbin/dump -0u -f /dev/st0 /usr/src

              This should be done at set intervals, say once a month or once every two months, and on a  set  of
              fresh tapes that is saved forever.

       —      After  a  level  0, dumps of active file systems are taken on a daily basis, with this sequence of
              dump levels:
                     3 2 5 4 7 6 9 8 9 9 ...

              For the daily dumps, it should be possible to use a fixed number of tapes for each day, used on  a
              weekly  basis.  Each week, a level 1 dump is taken, and the daily Hanoi sequence repeats beginning
              with 3. For weekly dumps, another fixed set of tapes per dumped file system is  used,  also  on  a
              cyclical basis.

       After several months or so, the daily and weekly tapes should get rotated out of the dump cycle and fresh
       tapes brought in.

       Another backup strategy is the Tower of Hanoi sequence, which reuses older tapes in a way that for  newer
       dates    the    available   restore   points   are   more   frequent,   then   for   older   dates   (see
       http://en.wikipedia.org/wiki/Backup_rotation_scheme for additional information).

       (The 4.3BSD option syntax is implemented for backward compatibility but is not documented here.)

ENVIRONMENT

       TAPE   If no -f option was specified, dump will use the device specified via TAPE  as  the  dump  device.
              TAPE may be of the form tapename, host:tapename, or user@host:tapename.

       RMT    The environment variable RMT will be used to determine the pathname of the remote rmt(8) program.

       RSH    Dump  uses  the contents of this variable to determine the name of the remote shell command to use
              when doing remote backups (rsh, ssh etc.). If this variable is not set, rcmd(3) will be used,  but
              only root will be able to do remote backups.

FILES

       /dev/st0
              default tape unit to dump to

       /var/lib/dumpdates
              dump date records

       /etc/fstab
              dump table: file systems and frequency

       /etc/mtab
              dump table: mounted file systems

       /etc/group
              to find group operator

SEE ALSO

       fstab(5), restore(8), rmt(8)

DIAGNOSTICS

       Many, and verbose.

COMPATIBILITY

       The  format  of the /var/lib/dumpdates file has changed in release 0.4b34, however, the file will be read
       correctly with either pre-0.4b34 or 0.4b34 and later versions of dump provided that the machine on  which
       dump is run did not change timezones (which should be a fairly rare occurrence).

EXIT STATUS

       Dump  exits  with  zero  status on success. Startup errors are indicated with an exit code of 1; abnormal
       termination is indicated with an exit code of 3.

BUGS

       It might be  considered  a  bug  that  this  version  of  dump  can  only  handle  ext2/3/4  filesystems.
       Specifically, it does not work with FAT filesystems.

       Fewer than 32 read errors (change this with -I) on the filesystem are ignored. If noticing read errors is
       important, the output from dump can be parsed to look for lines that contain the text 'read error'.

       When a read error occurs, dump prints out the corresponding physical disk block and sector number and the
       ext2/3/4 logical block number. It doesn't print out the corresponding file name or even the inode number.
       The user has to use debugfs(8), commands ncheck and icheck to translate the ext2blk number printed out by
       dump into an inode number, then into a file name.

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

       The estimated number of tapes is not correct if compression is on.

       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.

       Dump  cannot  do  remote  backups  without being run as root, due to its security history.  Presently, it
       works if you set it setuid (like it used to be), but this might constitute a security risk. Note that you
       can set RSH to use a remote shell program instead.

AUTHOR

       The  dump/restore  backup  suite  was  ported  to  Linux's  Second  Extended  File  System  by  Remy Card
       <card@Linux.EU.Org>. He maintained the initial versions of dump (up  and  including  0.4b4,  released  in
       January 1997).

       Starting with 0.4b5, the new maintainer is Stelian Pop <stelian@popies.net>.

AVAILABILITY

       The dump/restore backup suite is available from <http://dump.sourceforge.net>

HISTORY

       A dump command appeared in Version 6 AT&T UNIX.