restore(8)


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 [-cdhHklMNuvV0y] [-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 descendants 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  descendants  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 few 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.  If the -0 flag is used, the output
          separator  is  the  null  character  (instead  of  the   newline
          character).

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

   -0     (zero  terminated)  flag  causes  the  output  lines  to be zero
          terminated, not line feed terminated. This  flag  is  recognized
          for -t (listing) only.

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





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.