Solaris man マニュアル
System Administration Commands                     ufsrestore(1M)

NAME
     ufsrestore - incremental file system restore

SYNOPSIS
     /usr/sbin/ufsrestore i | r | R |  t  |  x  [abcdfhlmostvyLT]
     [archive_file]  [factor]  [dumpfile] [n] [label] [timeout] [
     filename...]

DESCRIPTION
     The ufsrestore utility  restores  files  from  backup  media
     created  with the ufsdump command. ufsrestores's actions are
     controlled by the key argument. The key is exactly one func-
     tion  letter  (i,  r, R , t, or x) and zero or more function
     modifiers (letters). The key string contains no SPACE  char-
     acters.  Function  modifier arguments are listed on the com-
     mand line in the same order as their corresponding  function
     modifiers appear in the key string.

     filename arguments which appear on the command line,  or  as
     arguments  to  an  interactive command, are treated as shell
     glob patterns by the x and t functions; any files or  direc-
     tories  matching the patterns are selected.  The metacharac-
     ters *, ?, and [ ] must be protected from the shell if  they
     appear  on  the command line. There is no way to quote these
     metacharacters to explicitly match them in a filename.

     The temporary files rstdir* and rstmode* are placed in  /tmp
     by  default.  If  the environment variable TMPDIR is defined
     with a non-empty value, that location  is  used  instead  of
     /tmp.

OPTIONS
  Function Letters
     You must specify one (and only one) of the function  letters
     listed  below. Note that i, x, and r are intended to restore
     files into an empty directory. The R  function  is  intended
     for restoring into a populated directory.

     i        Interactive. After reading in the directory  infor-
              mation  from the media, ufsrestore invokes a shell-
              like interface that allows you  to  browse  through
              the  dump  file's  directory  hierarchy  and select
              individual files to be extracted.  Restoration  has
              the  same  semantics as x (see below). See Interac-
              tive Commands, below, for a description  of  avail-
              able commands.



     r        Recursive. Starting with an empty directory  and  a
              level 0 dump, the r function recreates the filesys-
              tem relative  to  the  current  working  directory,
              exactly  as  it  appeared  when  the dump was made.
              Information used to restore  incremental  dumps  on
              top of the full dump (for example, restoresymtable)
              is also included. Several ufsrestore runs are typi-
              cal,  one for each higher level of dump (0, 1, ...,
              9).  Files that were deleted between  the  level  0
              and  a  subsequent  incremental dump will not exist
              after the final restore. To  completely  restore  a
              file system, use the r function restore the level 0
              dump, and again for each incremental dump. Although
              this  function  letter  is  intended for a complete
              restore onto a new file system  (one  just  created
              with newfs(1M)), if the file  system contains files
              not on the backup media, they are preserved.



     R        Resume  restoring.  If  an  r-mode  ufsrestore  was
              interrupted,  this  function prompts for the volume
              from which to resume restoring  and  continues  the
              restoration  from where it was left off.  Otherwise
              identical to r.



     t        Table of contents. List each filename that  appears
              on the media. If no filename argument is given, the
              root directory is listed. This results in a list of
              all  files  on  the  media,  unless  the h function
              modifier is in effect. The  table  of  contents  is
              taken  from the media or from the specified archive
              file, when the a function modifier is used.  The  a
              function  modifier is mutually exclusive with the x
              and r function letters.



     x        Extract the named files from the media.  Files  are
              restored  to  the same relative locations that they
              had in the original file system.

              If the filename argument matches a directory  whose
              contents  were  written  onto  the media, and the h
              modifier is not in effect, the directory is  recur-
              sively  extracted,  relative  to the current direc-
              tory, which is expected to be empty. For each file,
              the owner, modification time, and mode are restored
              (if possible).

              If you omit the filename argument or specify ., the
              root  directory  is  extracted. This results in the
              entire tape being extracted, unless the h  modifier
              is in effect. . With the x function, existing files
              are overwritten and ufsrestore displays  the  names
              of  the overwritten files. Overwriting a currently-
              running  executable  can  have  unfortunate  conse-
              quences.

              Use the x option to  restore  partial  file  system
              dumps,  as they are (by definition) not entire file
              systems.



  Function Modifiers
     a archive_file  Read the table of contents from archive_file
                     instead of the media. This function modifier
                     can be used in combination with the t, i, or
                     x  function  letters,  making it possible to
                     check whether files are on the media without
                     having  to  mount  the media. When used with
                     the x and interactive (i) function  letters,
                     it  prompts  for  the  volume containing the
                     file(s) before extracting them.



     b factor        Blocking factor. Specify the blocking factor
                     for  tape  reads.  For  variable length SCSI
                     tape devices, unless the  data  was  written
                     with the default blocking factor, a blocking
                     factor at least as great  as  that  used  to
                     write  the  tape must be used; otherwise, an
                     error will be generated. Note  that  a  tape
                     block  is  512  bytes. Refer to the man page
                     for your specific tape driver for  the  max-
                     imum blocking factor.



     c               Convert the contents of the media in  4.1BSD
                     format to the new ufs file system format.



     d               Debug. Turn on debugging output.



     f dump_file     Use dump_file instead of /dev/rmt/0  as  the
                     file  to  restore  from. Typically dump_file
                     specifies  a  tape  or  diskette  drive.  If
                     dump_file  is  specified  as `-', ufsrestore
                     reads from the standard input.  This  allows
                     ufsdump(1M)  and  ufsrestore to be used in a
                     pipeline to copy a file system:


                     example# ufsdump 0f - /dev/rdsk/c0t0d0s7 \
                      | (cd /home;ufsrestore xf -)


                     If the name of  the  file  is  of  the  form
                     machine:device, the restore is done from the
                     specified machine  over  the  network  using
                     rmt(1M). Since ufsrestore is normally run by
                     root, the name of  the  local  machine  must
                     appear  in  the  /.rhosts file of the remote
                     machine.  If  the  file  is   specified   as
                     user@machine:device, ufsrestore will attempt
                     to execute as  the  specified  user  on  the
                     remote machine. The specified user must have
                     a .rhosts file on the  remote  machine  that
                     allows  the  user  invoking the command from
                     the  local  machine  to  access  the  remote
                     machine.



     h               Extract or list the actual directory, rather
                     than  the  files  that  it  references. This
                     prevents hierarchical  restoration  of  com-
                     plete subtrees from the tape.



     l               Autoload. When the  end-of-tape  is  reached
                     before  the  restore  is  complete, take the
                     drive off-line and wait up  to  two  minutes
                     (the  default,  see the T function modifier)
                     for the tape drive to be ready  again.  This
                     gives  autoloading (stackloader) tape drives
                     a chance to load a new tape. If the drive is
                     ready within two minutes, continue. If it is
                     not, prompt for another tape and wait.



     L label         The label that should appear in  the  header
                     of  the  dump  file.  If  the  labels do not
                     match, ufsrestore issues  a  diagnostic  and
                     exits.  The  tape  label  is specific to the
                     ufsdump tape format,  and  bears  no  resem-
                     blance to IBM or ANSI-standard tape labels.



     m               Extract by  inode  numbers  rather  than  by
                     filename   to  avoid  regenerating  complete
                     pathnames. Regardless of where the files are
                     located  in  the  dump  hierarchy,  they are
                     restored  into  the  current  directory  and
                     renamed  with  their  inode  number. This is
                     useful  if  only  a  few  files  are   being
                     extracted.



     o               Offline. Take the drive  off-line  when  the
                     restore  is  complete or the end-of-media is
                     reached and rewind the tape,  or  eject  the
                     diskette.  In  the  case of some autoloading
                     8mm drives, the tape  is  removed  from  the
                     drive automatically.



     s n             Skip to the n'th file when there are  multi-
                     ple  dump  files on the same tape. For exam-
                     ple, the command:


                     example# ufsrestore xfs /dev/rmt/0hn 5



                     would position you to the fifth file on  the
                     tape when reading volume 1 of the dump. If a
                     dump extends over more than one volume,  all
                     volumes  except  the  first  are  assumed to
                     start at position 0, no matter  what  "s  n"
                     value is specified.

                     If "s n" is specified, the backup media must
                     be  at  BOT  (beginning of tape). Otherwise,
                     the initial positioning to read the table of
                     contents  will  fail,  as it is performed by
                     skipping the tape forward n-1  files  rather
                     than  by using absolute positioning. This is
                     because on some devices absolute positioning
                     is very time consuming.



     T timeout [hms] Sets the amount of time to wait for an auto-
                     load  command  to  complete.  This  function
                     modifier is ignored unless  the  l  function
                     modifier   has   also  been  specified.  The
                     default timeout period is two  minutes.  The
                     time  units may be specified as a trailing h
                     (hours), m (minutes), or  s  (seconds).  The
                     default unit is minutes.



     v               Verbose. ufsrestore displays  the  name  and
                     inode  number of each file it restores, pre-
                     ceded by its file type.



     y               Do not ask whether to abort the  restore  in
                     the  event  of tape errors. ufsrestore tries
                     to skip over the bad tape block(s) and  con-
                     tinue as best it can.



  Interactive Commands
     ufsrestore enters interactive mode when invoked with  the  i
     function  letters.  Interactive  commands are reminiscent of
     the shell. For those commands that accept an  argument,  the
     default  is  the  current directory. The interactive options
     are:

     add [filename]          Add the named file or  directory  to
                             the  list  of files to extract. If a
                             directory  is  specified,  add  that
                             directory   and  its  files  (recur-
                             sively)  to  the   extraction   list
                             (unless   the   h   modifier  is  in
                             effect).



     cd directory            Change to directory (within the dump
                             file).



     delete [filename]       Delete the current directory, or the
                             named  file  or  directory  from the
                             list  of  files  to  extract.  If  a
                             directory  is specified, delete that
                             directory and  all  its  descendents
                             from the extraction list (unless the
                             h modifier is in effect).  The  most
                             expedient  way to extract a majority
                             of files from a directory is to  add
                             that  directory  to  the  extraction
                             list, and then delete specific files
                             to omit.



     extract                 Extract all files on the  extraction
                             list from the dump media. ufsrestore
                             asks which volume the user wishes to
                             mount.  The fastest way to extract a
                             small number of files  is  to  start
                             with the last volume and work toward
                             the first. If "s n" is given on  the
                             command line, volume 1 will automat-
                             ically be positioned to file n  when
                             it is read.



     help                    Display a summary of  the  available
                             commands.



     ls [directory]          List  files  in  directory  or   the
                             current  directory, represented by a
                             `.'   (period).   Directories    are
                             appended with a `/' (slash). Entries
                             marked for extraction  are  prefixed
                             with  a  `*' (asterisk). If the ver-
                             bose  option  is  in  effect,  inode
                             numbers are also listed.



     marked [directory]      Like ls, except  only  files  marked
                             for extraction are listed.



     pager                   Toggle the pagination of the  output
                             from the ls and marked commands. The
                             pager used is that  defined  by  the
                             PAGER   environment   variable,   or
                             more(1)  if  that   envar   is   not
                             defined. The PAGER envar may include
                             white-space-separated arguments  for
                             the pagination program.



     pwd                     Print  the  full  pathname  of   the
                             current working directory.



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



     setmodes                Prompts:  set  owner/mode  for   `.'
                             (period).  Type y for yes to set the
                             mode (permissions, owner, times)  of
                             the  current  directory `.' (period)
                             into which files are being  restored
                             equal to the mode of the root direc-
                             tory of the file system  from  which
                             they  were dumped. Normally, this is
                             what you want when restoring a whole
                             file system, or restoring individual
                             files into the same  locations  from
                             which  they  were dumped. Type n for
                             no, to leave the mode of the current
                             directory  unchanged. Normally, this
                             is what you want when restoring part
                             of  a dump to a directory other than
                             the one from which  the  files  were
                             dumped.



     setpager command        Sets the command to use for paginat-
                             ing output instead of the default or
                             that inherited from the environment.
                             The command string may include argu-
                             ments in  addition  to  the  command
                             itself.



     verbose                 Toggle the status of the v modifier.
                             While v is in effect, the ls command
                             lists  the  inode  numbers  of   all
                             entries,   and  ufsrestore  displays
                             information about each file as it is
                             extracted.



     what                    Display  the  dump  header  on   the
                             media.



OPERANDS
     The following operands are supported.

     filename        Specifies the pathname of files  (or  direc-
                     tories) to be restored to disk. Unless the h
                     function modifier is also used, a  directory
                     name  refers  to  the files it contains, and
                     (recursively)  its  subdirectories  and  the
                     files  they  contain. filename is associated
                     with either the x or t function letters, and
                     must come last.



USAGE
     See largefile(5) for the  description  of  the  behavior  of
     ufsrestore  when encountering files greater than or equal to
     2 Gbyte ( 2**31 bytes).

EXIT STATUS
     The following exit values are returned:

     0        Successful completion.



     1        An error occurred. Verbose messages are displayed.



ENVIRONMENT VARIABLES
     PAGER           The command to use as a filter for  paginat-
                     ing output. This can also be used to specify
                     the options to be used. Default is more(1).



     TMPDIR          Selects the directory for  temporary  files.
                     Defaults  to  /tmp  if  not  defined  in the
                     environment.



FILES
     /dev/rmt/0              the default tape drive



     $TMPDIR/rstdir*         file containing directories  on  the
                             tape



     $TMPDIR/rstmode*        owner,  mode,  and  timestamps   for
                             directories


     ./restoresymtable       information passed between incremen-
                             tal restores



ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|


SEE ALSO
     more(1), mkfs(1M), mount(1M), rmt(1M),  ufsdump(1M),  attri-
     butes(5), largefile(5)

DIAGNOSTICS
     ufsrestore complains about bad option characters.

     Read errors result in complaints. If y has  been  specified,
     or the user responds y, ufsrestore will attempt to continue.

     If the dump extends over more than one tape, ufsrestore asks
     the  user to change tapes. If the x or i function letter has
     been specified, ufsrestore also asks which volume  the  user
     wishes  to  mount. If the s modifier has been specified, and
     volume 1 is mounted, it is automatically positioned  to  the
     indicated file.

     There are numerous consistency checks that can be listed  by
     ufsrestore.  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,  using  a
         dump tape created on an active file system, or restoring
         a partial dump with the r function.


     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 an incremental restore, a tape that was writ-
         ten  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
         begin  its  coverage where the previous incremental tape
         left off, or one that has too high an incremental  level
         has been loaded.



     media read error: invalid argument

         Blocking factor specified for read is smaller  than  the
         blocking factor used to write data.



     Tape read error while restoring
     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 prob-
         ably  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 ufsrestore, skipped num

         After a tape read error, ufsrestore may have  to  resyn-
         chronize itself. This message lists the number of blocks
         that were skipped over.



     Incorrect tape label. Expected `foo', got `bar'.

         The L option was specified, and its value did not  match
         what was recorded in the header of the dump file.



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

     A  level 0 dump must be done after a full  restore.  Because
     ufsrestore   runs in user mode, it has no control over inode
     allocation.  This  means  that  ufsrestore  repositions  the
     files,  although  it does not change their contents. Thus, a
     full dump must be done to  get  a  new  set  of  directories
     reflecting the new file positions, so that later incremental
     dumps will be correct.