restore

RESTORE(8)                System management commands                RESTORE(8)



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

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

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

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

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

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

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

       restore -x [-adchklmMNouvVy] [-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.

       -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.



BSD                   version 0.4b39 of January 21, 2005            RESTORE(8)