Man Linux: Main Page and Category List

NAME

       restore - restore files or file systems from backups made with dump

SYNOPSIS

       restore  -C  [-cdHklMvVy]  [-b blocksize] [-D filesystem] [-f file] [-F
       script] [-L limit] [-s fileno] [-T directory]

       restore -i [-acdhHklmMNouvVy] [-A file] [-b blocksize]  [-f  file]  [-F
       script] [-Q file] [-s fileno] [-T directory]

       restore  -P file [-acdhHklmMNuvVy] [-b blocksize] [-f file] [-F script]
       [-s fileno] [-T directory] [-X filelist] [ file ... ]

       restore -R [-cdHklMNuvVy] [-b blocksize]  [-f  file]  [-F  script]  [-s
       fileno] [-T directory]

       restore  -r  [-cdHklMNuvVy]  [-b  blocksize]  [-f file] [-F script] [-s
       fileno] [-T directory]

       restore -t [-cdhHklMNuvVy] [-A  file]  [-b  blocksize]  [-f  file]  [-F
       script] [-Q file] [-s fileno] [-T directory] [-X filelist] [ file ... ]

       restore -x [-adchHklmMNouvVy] [-A file] [-b blocksize]  [-f  file]  [-F
       script] [-Q file] [-s fileno] [-T directory] [-X filelist] [ file ... ]

DESCRIPTION

       The restore command performs the inverse function of dump(8).   A  full
       backup  of  a  file  system  may be restored and subsequent incremental
       backups layered on top of it. Single files and directory  subtrees  may
       be  restored  from  full  or  partial  backups.  Restore works across a
       network; to do this see the -f flag described below. Other arguments to
       the  command  are file or directory names specifying the files that are
       to be restored. Unless the  -h  flag  is  specified  (see  below),  the
       appearance  of  a  directory name refers to the files and (recursively)
       subdirectories of that directory.

       Exactly one of the following flags is required:

       -C     This mode allows comparison of files from a dump.  Restore reads
              the  backup  and compares its contents with files present on the
              disk. It first changes its working directory to the root of  the
              filesystem  that was dumped and compares the tape with the files
              in its new current directory. See also  the  -L  flag  described
              below.

       -i     This  mode  allows interactive restoration of files from a dump.
              After reading  in  the  directory  information  from  the  dump,
              restore  provides a shell like interface that allows the user to
              move around the directory tree selecting files to be  extracted.
              The  available commands are given below; for those commands that
              require an argument, the default is the current directory.

              add [arg]
                     The current directory or specified argument is  added  to
                     the  list  of  files  to be extracted.  If a directory is
                     specified, then it and all its descendents are  added  to
                     the  extraction  list (unless the -h flag is specified on
                     the command line). Files that are on the extraction  list
                     are prepended with a “*” when they are listed by ls.

              cd arg Change  the  current  working  directory to the specified
                     argument.

              delete [arg]
                     The current directory or specified  argument  is  deleted
                     from the list of files to be extracted. If a directory is
                     specified, then it and all its  descendents  are  deleted
                     from the extraction list (unless the -h flag is specified
                     on the command line). The most expedient way  to  extract
                     most  of  the  files  from  a  directory  is  to  add the
                     directory to the extraction list and  then  delete  those
                     files that are not needed.

              extract
                     All  files  on the extraction list are extracted from the
                     dump.  Restore will ask which volume the user  wishes  to
                     mount.  The  fastest  way  to  extract a f ew files is to
                     start with the last volume and  work  towards  the  first
                     volume.

              help   List a summary of the available commands.

              ls [arg]
                     List the current or specified directory. Entries that are
                     directories are appended with a “/”.  Entries  that  have
                     been  marked  for extraction are prepended with a “*”. If
                     the verbose flag is set, the inode number of  each  entry
                     is also listed.

              pwd    Print the full pathname of the current working directory.

              quit   Restore immediately exits, even if the extraction list is
                     not empty.

              setmodes
                     All  directories  that  have been added to the extraction
                     list have their owner, modes, and times set;  nothing  is
                     extracted  from  the dump. This is useful for cleaning up
                     after a restore has been prematurely aborted.

              verbose
                     The sense of the  -v  flag  is  toggled.  When  set,  the
                     verbose  flag  causes  the  ls  command to list the inode
                     numbers of all entries. It also causes restore  to  print
                     out information about each file as it is extracted.

       -P file
              Restore  creates  a  new  Quick  File  Access  file file from an
              existing dump file without restoring its contents.

       -R     Restore requests a particular tape  of  a  multi-volume  set  on
              which to restart a full restore (see the -r flag below). This is
              useful if the restore has been interrupted.

       -r     Restore (rebuild) a file system. The target file  system  should
              be made pristine with mke2fs(8), mounted, and the user cd’d into
              the pristine file system before starting the restoration of  the
              initial  level  0  backup. If the level 0 restores successfully,
              the -r flag may be used to  restore  any  necessary  incremental
              backups  on  top  of  the  level  0.  The  -r  flag precludes an
              interactive file extraction and  can  be  detrimental  to  one’s
              health  (not  to  mention  the  disk)  if not used carefully. An
              example:

                     mke2fs /dev/sda1

                     mount /dev/sda1 /mnt

                     cd /mnt

                     restore rf /dev/st0

              Note that restore leaves a  file  restoresymtable  in  the  root
              directory   to  pass  information  between  incremental  restore
              passes.  This file should be removed when the  last  incremental
              has been restored.

              Restore,  in conjunction with mke2fs(8) and dump(8), may be used
              to modify file system parameters such as size or block size.

       -t     The names of the specified files are listed if they occur on the
              backup.  If  no  file  argument  is given, the root directory is
              listed, which results in the entire content of the backup  being
              listed, unless the -h flag has been specified.  Note that the -t
              flag replaces the function of the old dumpdir(8)  program.   See
              also the -X option below.

       -x     The  named  files are read from the given media. If a named file
              matches a directory whose contents are on the backup and the  -h
              flag  is  not specified, the directory is recursively extracted.
              The  owner,  modification  time,  and  mode  are  restored   (if
              possible).  If  no file argument is given, the root directory is
              extracted, which results in the entire  content  of  the  backup
              being  extracted,  unless  the  -h flag has been specified.  See
              also the -X option below.

OPTIONS

       The following additional options may be specified:

       -a     In -i or -x mode, restore does  ask  the  user  for  the  volume
              number on which the files to be extracted are supposed to be (in
              order to minimise the  time  by  reading  only  the  interesting
              volumes).  The  -a  option disables this behaviour and reads all
              the volumes starting with 1. This  option  is  useful  when  the
              operator does not know on which volume the files to be extracted
              are and/or when he prefers the  longer  unattended  mode  rather
              than the shorter interactive mode.

       -A archive_file
              Read  the  table  of  contents  from archive_file instead of the
              media. This option can be used in combination with the  -t,  -i,
              or  -x options, making it possible to check whether files are on
              the media without having to mount the media.

       -b blocksize
              The number of kilobytes per dump record. If the -b option is not
              specified,  restore  tries  to  determine  the  media block size
              dynamically.

       -c     Normally, restore will try to determine dynamically whether  the
              dump  was  made from an old (pre-4.4) or new format file system.
              The -c flag disables this check, and only allows reading a  dump
              in the old format.

       -d     The -d (debug) flag causes restore to print debug information.

       -D filesystem
              The  -D flag allows the user to specify the filesystem name when
              using restore with the -C option to check the backup.

       -f file
              Read the backup from file; file may be  a  special  device  file
              like  /dev/st0  (a  tape  drive),  /dev/sda1  (a disk drive), an
              ordinary file, or - (the standard input). If  the  name  of  the
              file  is  of the form host:file or user@host:file, restore reads
              from the named file on the remote host using rmt(8).

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

       -h     Extract  the  actual  directory,  rather  than the files that it
              references. This prevents hierarchical restoration  of  complete
              subtrees from the dump.

       -H hash_size
              Use  a  hashtable  having  the  specified  number of entries for
              storing the directories entries instead of a linked  list.  This
              hashtable  will  considerably  speed  up  inode lookups (visible
              especially in interactive mode when adding/removing  files  from
              the  restore  list), but at the price of much more memory usage.
              The default value is 1, meaning no hashtable is used.

       -k     Use Kerberos authentication  when  contacting  the  remote  tape
              server. (Only available if this options was enabled when restore
              was compiled.)

       -l     When doing remote restores, assume the remote file is a  regular
              file  (instead  of  a tape device). If you’re restoring a remote
              compressed file, you will need to specify this option or restore
              will fail to access it correctly.

       -L limit
              The  -L  flag  allows  the  user  to specify a maximal number of
              miscompares when using restore with the -C option to  check  the
              backup.  If  this  limit  is reached, restore will abort with an
              error message. A value of 0 (the  default  value)  disables  the
              check.

       -m     Extract  by  inode  numbers  rather  than  by file name. This is
              useful if only a few files are being extracted, and one wants to
              avoid regenerating the complete pathname to the file.

       -M     Enables  the  multi-volume feature (for reading dumps made using
              the -M option of dump). The name specified with -f is treated as
              a prefix and restore tries to read in sequence from <prefix>001,
              <prefix>002 etc.

       -N     The -N flag causes  restore  to  perform  a  full  execution  as
              requested  by one of -i, -R, -r, t or x command without actually
              writing any file on disk.

       -o     The -o flag causes restore to automatically restore the  current
              directory  permissions without asking the operator whether to do
              so in one of -i or -x modes.

       -Q file
              Use the file file in order to read tape position as stored using
              the dump Quick File Access mode, in one of -i, -x or -t mode.

              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  restoring  from  local  or  remote
              tapes (see above) or from local or remote files.

       -s fileno
              Read  from  the  specified  fileno  on  a  multi-file tape. File
              numbering starts at 1.

       -T directory
              The -T flag allows the user to specify a directory  to  use  for
              the storage of temporary files. The default value is /tmp.  This
              flag is most useful when restoring  files  after  having  booted
              from  a  floppy. There might be little or no space on the floppy
              filesystem, but another source of space might exist.

       -u     When creating certain types of files,  restore  may  generate  a
              warning   diagnostic   if  they  already  exist  in  the  target
              directory. To prevent this, the -u (unlink) flag causes  restore
              to remove old entries before attempting to create new ones.

       -v     Normally  restore  does its work silently. The -v (verbose) flag
              causes it to type the name of each file it  treats  preceded  by
              its file type.

       -V     Enables reading multi-volume non-tape mediums like CDROMs.

       -X filelist
              Read  list of files to be listed or extracted from the text file
              filelist in addition to those specified  on  the  command  line.
              This  can be used in conjunction with the -t or -x commands. The
              file filelist should contain file names separated  by  newlines.
              filelist may be an ordinary file or - (the standard input).

       -y     Do not ask the user whether to abort the restore in the event of
              an error.   Always  try  to  skip  over  the  bad  block(s)  and
              continue.

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

DIAGNOSTICS

       Complains if it gets a read error. If y has been specified, or the user
       responds y, restore will attempt to continue the restore.

       If  a  backup  was  made  using more than one tape volume, restore will
       notify the user when it is time to mount the next volume. If the -x  or
       -i flag has been specified, restore will also ask which volume the user
       wishes to mount. The fastest way to extract a few  files  is  to  start
       with the last volume, and work towards the first volume.

       There  are  numerous  consistency checks that can be listed by restore.
       Most checks are self-explanatory or can “never happen”.  Common  errors
       are given below:

       Converting to new file system format
              A dump tape created from the old file system has been loaded. It
              is automatically converted to the new file system format.

       <filename>: not found on tape
              The specified file name was listed in the  tape  directory,  but
              was  not  found  on the tape. This is caused by tape read errors
              while looking for the file, and from using a dump  tape  created
              on an active file system.

       expected next file <inumber>, got <inumber>
              A  file that was not listed in the directory showed up. This can
              occur when using a dump created on an active file system.

       Incremental dump too low
              When doing an incremental  restore,  a  dump  that  was  written
              before  the  previous  incremental  dump, or that has too low an
              incremental level has been loaded.

       Incremental dump too high
              When doing an incremental restore, a dump that  does  not  begin
              its  coverage  where  the previous incremental dump left off, or
              that has too high an incremental level has been loaded.

       Tape read error while restoring <filename>

       Tape read error while skipping over inode <inumber>

       Tape read error while trying to resynchronize
              A tape (or other media) read error has occurred. If a file  name
              is  specified,  its contents are probably partially wrong. If an
              inode is being skipped or the tape is trying  to  resynchronize,
              no  extracted files have been corrupted, though files may not be
              found on the tape.

       resync restore, skipped <num> blocks
              After a dump read  error,  restore  may  have  to  resynchronize
              itself.  This  message  lists  the  number  of  blocks that were
              skipped over.

EXIT STATUS

       Restore exits with zero status on success. Tape  errors  are  indicated
       with an exit code of 1.

       When  doing  a  comparison  of  files  from  a  dump, an exit code of 2
       indicates that some files were modified or deleted since the  dump  was
       made.

ENVIRONMENT

       If  the  following  environment  variable exists it will be utilized by
       restore:

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

       TMPDIR The directory given in TMPDIR will be used instead  of  /tmp  to
              store temporary files.

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

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

FILES

       /dev/st0
              the default tape drive

       /tmp/rstdir*
              file containing directories on the tape

       /tmp/rstmode*
              owner, mode, and time stamps for directories

       ./restoresymtable
              information passed between incremental restores

SEE ALSO

       dump(8), mount(8), mke2fs(8), rmt(8)

BUGS

       Restore  can  get  confused  when doing incremental restores from dumps
       that were made on active file systems.

       A level 0 dump must be done after a full restore. Because restore  runs
       in user code, it has no control over inode allocation; thus a full dump
       must be done to get a new set of directories reflecting the  new  inode
       numbering, even though the content of the files is unchanged.

       The temporary files /tmp/rstdir* and /tmp/rstmode* are generated with a
       unique name based on the date of the  dump  and  the  process  ID  (see
       mktemp(3)),  except  when  -r  or  -R is used. Because -R allows you to
       restart a -r operation that may have been  interrupted,  the  temporary
       files  should  be  the  same  across  different processes. In all other
       cases, the files  are  unique  because  it  is  possible  to  have  two
       different  dumps  started  at  the  same  time, and separate operations
       shouldn’t conflict with each other.

       To do a network restore, you have to run  restore  as  root  or  use  a
       remote  shell  replacement  (see  RSH  variable).   This  is due to the
       previous security history of dump and restore.  ( restore is written to
       be  setuid root, but we are not certain all bugs are gone from the code
       - run setuid at your own risk.)

       At the end of restores in -i or -x modes (unless -o option is in  use),
       restore  will  ask  the  operator whether to set the permissions on the
       current  directory.  If  the  operator  confirms   this   action,   the
       permissions  on  the  directory from where restore was launched will be
       replaced by the permissions on the dumped  root  inode.  Although  this
       behaviour is not really a bug, it has proven itself to be confusing for
       many users,  so  it  is  recommended  to  answer  ’no’,  unless  you’re
       performing a full restore and you do want to restore the permissions on
       ’/’.

       It should be underlined that because it runs in user  code,  restore  ,
       when  run  with  the  -C  option, sees the files as the kernel presents
       them, whereas dump sees  all  the  files  on  a  given  filesystem.  In
       particular,  this  can  cause  some  confusion  when comparing a dumped
       filesystem a part of which is hidden by a filesystem mounted on top  of
       it.

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

       The restore command appeared in 4.2BSD.