Provided by: dump_0.4b47-4build2_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 can be a filesystem identifier or a list of files and directories to be backed up.

       A  filesystem can be identified by its device path (e.g.  /dev/sde2), by its mountpoint if the filesystem
       is currently mounted (e.g.  /var), or by its label or uuid property if  the  block  device  is  known  to
       blkid(8) (e.g.  LABEL=foobar or UUID=a0f155-...).

       If  files-to-dump is a list of files and directories, then certain restrictions apply: -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
              human-readable, with one record per line. Each line  holds,  separated  by  spaces,  a  filesystem
              identifier,  dump  increment  level and dump date in ctime(3) format followed by a rfc822 timezone
              specification (see the -T 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.

              The filesystem identifier is exactly as given on  the  command  line,  e.g.   UUID=a0f155-...   or
              /dev/sde2.   This  is  for incremental dumps of filesystems on removable media or other situations
              where the device path changes over time. There may be at most one entry per  filesystem  for  each
              increment  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
       https://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 <https://dump.sourceforge.io>

HISTORY

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

BSD                                       version 0.4b47 of 1 Jan 2021                                   DUMP(8)