4.3BSD-UWisc/man/cat8/restore.8

Compare this file to the similar file:
Show the results in this format:




RESTORE(8)          UNIX Programmer's Manual           RESTORE(8)



NAME
     restore - incremental file system restore

SYNOPSIS
     /etc/restore key [ name ... ]

DESCRIPTION
     _R_e_s_t_o_r_e reads tapes dumped with the _d_u_m_p(8) command.  Its
     actions are controlled by the _k_e_y argument.  The _k_e_y is a
     string of characters containing at most one function letter
     and possibly one or more function modifiers.  Other argu-
     ments to the command are file or directory names specifying
     the files that are to be restored.  Unless the h key is
     specified (see below), the appearance of a directory name
     refers to the files and (recursively) subdirectories of that
     directory.

     The function portion of the key is specified by one of the
     following letters:

     r    The tape is read and loaded into the current directory.
          This should not be done lightly; the r key should only
          be used to restore a complete dump tape onto a clear
          file system or to restore an incremental dump tape
          after a full level zero restore.  Thus

               /etc/newfs /dev/rrp0g eagle
               /etc/mount /dev/rp0g /mnt
               cd /mnt
               restore r

          is a typical sequence to restore a complete dump.
          Another _r_e_s_t_o_r_e can be done to get an incremental dump
          in on top of this.  Note that _r_e_s_t_o_r_e leaves a file
          _r_e_s_t_o_r_e_s_y_m_t_a_b in the root directory to pass information
          between incremental restore passes.  This file should
          be removed when the last incremental tape has been
          restored.
          A _d_u_m_p(8) followed by a _n_e_w_f_s(8) and a _r_e_s_t_o_r_e is used
          to change the size of a file system.

     R    _R_e_s_t_o_r_e requests a particular tape of a multi volume
          set on which to restart a full restore (see the r key
          above).  This allows _r_e_s_t_o_r_e to be interrupted and then
          restarted.

     x    The named files are extracted from the tape.  If the
          named file matches a directory whose contents had been
          written onto the tape, and the h key is not specified,
          the directory is recursively extracted.  The owner,
          modification time, and mode are restored (if possible).
          If no file argument is given, then the root directory



Printed 12/27/86         March 27, 1986                         1






RESTORE(8)          UNIX Programmer's Manual           RESTORE(8)



          is extracted, which results in the entire content of
          the tape being extracted, unless the h key has been
          specified.

     t    The names of the specified files are listed if they
          occur on the tape.  If no file argument is given, then
          the root directory is listed, which results in the
          entire content of the tape being listed, unless the h
          key has been specified.  Note that the t key replaces
          the function of the old _d_u_m_p_d_i_r program.

     i    This mode allows interactive restoration of files from
          a dump tape.  After reading in the directory informa-
          tion from the tape, _r_e_s_t_o_r_e 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.


          ls [arg] - List the current or specified directory.
               Entries that are directories are appended with a
               ``/''.  Entries that have been marked for extrac-
               tion are prepended with a ``*''.  If the verbose
               key is set the inode number of each entry is also
               listed.

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

          pwd - Print the full pathname of the current working
               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 des-
               cendents are added to the extraction list (unless
               the h key is specified on the command line).
               Files that are on the extraction list are
               prepended with a ``*'' when they are listed by ls.

          delete [arg] - The current directory or specified argu-
               ment 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 key 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.




Printed 12/27/86         March 27, 1986                         2






RESTORE(8)          UNIX Programmer's Manual           RESTORE(8)



          extract - All the files that are on the extraction list
               are extracted from the dump tape.  _R_e_s_t_o_r_e will
               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.

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

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

          help - List a summary of the available commands.

          quit - Restore immediately exits, even if the extrac-
               tion list is not empty.


     The following characters may be used in addition to the
     letter that selects the function desired.

     b    The next argument to _r_e_s_t_o_r_e is used as the block size
          of the tape (in kilobytes).  If the -b option is not
          specified, _r_e_s_t_o_r_e tries to determine the tape block
          size dynamically.

     f    The next argument to _r_e_s_t_o_r_e is used as the name of the
          archive instead of /dev/rmt?. If the name of the file
          is ``-'', _r_e_s_t_o_r_e reads from standard input.  Thus,
          _d_u_m_p(8) and _r_e_s_t_o_r_e can be used in a pipeline to dump
          and restore a file system with the command

               dump 0f - /usr | (cd /mnt; restore xf -)

     v    Normally _r_e_s_t_o_r_e does its work silently.  The v (ver-
          bose) key causes it to type the name of each file it
          treats preceded by its file type.

     y    _R_e_s_t_o_r_e will not ask whether it should abort the
          restore if gets a tape error.  It will always try to
          skip over the bad tape block(s) and continue as best it
          can.

     m    _R_e_s_t_o_r_e will extract by inode numbers rather than by
          file name.  This is useful if only a few files are



Printed 12/27/86         March 27, 1986                         3






RESTORE(8)          UNIX Programmer's Manual           RESTORE(8)



          being extracted, and one wants to avoid regenerating
          the complete pathname to the file.

     h    _R_e_s_t_o_r_e extracts the actual directory, rather than the
          files that it references.  This prevents hierarchical
          restoration of complete subtrees from the tape.

     s    The next argument to _r_e_s_t_o_r_e is a number which selects
          the file on a multi-file dump tape.  File numbering
          starts at 1.

DIAGNOSTICS
     Complaints about bad key characters.

     Complaints if it gets a read error.  If y has been speci-
     fied, or the user responds ``y'', _r_e_s_t_o_r_e will attempt to
     continue the restore.

     If the dump extends over more than one tape, _r_e_s_t_o_r_e will
     ask the user to change tapes.  If the x or i key has been
     specified, _r_e_s_t_o_r_e 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
     _r_e_s_t_o_r_e.  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 direc-
          tory, 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 tape created on an
          active file system.

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

     Incremental tape too high
          When doing incremental restore, a tape that does not



Printed 12/27/86         March 27, 1986                         4






RESTORE(8)          UNIX Programmer's Manual           RESTORE(8)



          begin its coverage where the previous incremental tape
          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 read error has occurred.  If a file name is
          specified, then its contents are probably partially
          wrong.  If an inode is being skipped or the tape is
          trying to resynchronize, then no extracted files have
          been corrupted, though files may not be found on the
          tape.

     resync restore, skipped <num> blocks
          After a tape read error, _r_e_s_t_o_r_e may have to resyn-
          chronize itself.  This message lists the number of
          blocks that were skipped over.

FILES
     /dev/rmt? 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
     rrestore(8C) dump(8), newfs(8), mount(8), mkfs(8)

BUGS
     _R_e_s_t_o_r_e can get confused when doing incremental restores
     from dump tapes that were made on active file systems.

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

















Printed 12/27/86         March 27, 1986                         5