Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


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

	      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 num-
		     bers 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 success-
	      fully, the -r flag may be used to restore any necessary  incre-
	      mental  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  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  opera-
	      tor 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 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 001, 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 logi-
	      cal 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.

       : 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 , got 
	      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 

       Tape read error while skipping over inode 

       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  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
	      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 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 pre-
       vious 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	 par-
       ticular,	 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 . He maintained  the	 ini-
       tial  versions  of  dump	 (up and including 0.4b4, released in january
       1997).

       Starting	  with	 0.4b5,	  the	new   maintainer   is	Stelian	  Pop
       .

AVAILABILITY
       The  dump/restore  backup suite is available from 

HISTORY
       The restore command appeared in 4.2BSD.



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


UNIX/Linux commands referenced on this page:
  1. file
  2. top
  3. which
  4. last
  5. ls
  6. pwd
  7. as
  8. dump
  9. mke2fs
  10. mount
  11. size
  12. time
  13. host
  14. script
  15. at
  16. man
  17. cal
  18. make
  19. floppy
  20. more
  21. ssh
  22. date
  23. users