Yolinux.com

restore manpage

Search topic Section


RESTORE(8)		  System management commands		    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 [-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 net-
       work; 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 direc-
		     tory 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 ver-
		     bose 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 exist-
	      ing 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 interac-
	      tive 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	possi-
	      ble).  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  num-
	      ber  on  which  the files to be extracted are supposed to be (in
	      order to minimise the time by reading only the interesting  vol-
	      umes).  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 ordi-
	      nary 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 ref-
	      erences. This prevents hierarchical restoration of complete sub-
	      trees from the dump.

       -H hash_size
	      Use a hashtable having the specified number of entries for stor-
	      ing 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 mis-
	      compares 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 use-
	      ful 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 num-
	      bering 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 direc-
	      tory. 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  con-
	      tinue.

       (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 indi-
       cates 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 spec-
	      ified 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 path-
	      name 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 differ-
       ent 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 previ-
       ous  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 permis-
       sions 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 partic-
       ular,  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.source-
       forge.net>

HISTORY
       The restore command appeared in 4.2BSD.



BSD			version 0.4b42 of June 18, 2009		    RESTORE(8)