1 .\" Copyright (c) 1985, 1991, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" @(#)restore.8 8.4 (Berkeley) 5/1/95
29 .\" $FreeBSD: src/sbin/restore/restore.8,v 1.20.2.15 2003/02/23 22:47:13 trhodes Exp $
37 .Nd "restore UFS file systems or files from backups made with dump"
74 utility performs the inverse function of
76 A full backup of a file system may be restored and
77 subsequent incremental backups layered on top of it.
79 directory subtrees may be restored from full or partial
83 utility works across a network;
87 Other arguments to the command are file or directory
88 names specifying the files that are to be restored.
91 flag is specified (see below),
92 the appearance of a directory name refers to
93 the files and (recursively) subdirectories of that directory.
96 may also be invoked as
100 option syntax is implemented for backward compatibility, but
101 is not documented here.
103 Exactly one of the following flags is required:
106 This mode allows interactive restoration of files from a dump.
107 After reading in the directory information from the dump,
109 provides a shell like interface that allows the user to move
110 around the directory tree selecting files to be extracted.
111 The available commands are given below;
112 for those commands that require an argument,
113 the default is the current directory.
116 The current directory or specified argument is added to the list of
117 files to be extracted.
118 If a directory is specified, then it and all its descendants are
119 added to the extraction list
122 flag is specified on the command line).
123 Files that are on the extraction list are prepended with a ``*''
124 when they are listed by
127 Change the current working directory to the specified argument.
128 .It Ic delete Op Ar arg
129 The current directory or specified argument is deleted from the list of
130 files to be extracted.
131 If a directory is specified, then it and all its descendants are
132 deleted from the extraction list
135 flag is specified on the command line).
136 The most expedient way to extract most of the files from a directory
137 is to add the directory to the extraction list and then delete
138 those files that are not needed.
140 All the files that are on the extraction list are extracted
144 utility will ask which volume the user wishes to mount.
145 The fastest way to extract a few files is to
146 start with the last volume, and work towards the first volume.
148 List a summary of the available commands.
149 .It Ic \&ls Op Ar arg
150 List the current or specified directory.
151 Entries that are directories are appended with a ``/''.
152 Entries that have been marked for extraction are prepended with a ``*''.
154 flag is set the inode number of each entry is also listed.
156 Print the full pathname of the current working directory.
159 even if the extraction list is not empty.
161 All the directories that have been added to the extraction list
162 have their owner, modes, and times set;
163 nothing is extracted from the dump.
164 This is useful for cleaning up after a restore has been prematurely aborted.
169 When set, the verbose flag causes the
171 command to list the inode numbers of all entries.
174 to print out information about each file as it is extracted.
176 Display dump header information, which includes: date,
177 level, label, and the file system and host dump was made
181 Request a particular tape of a multi volume set on which to restart
186 This is useful if the restore has been interrupted.
188 Restore (rebuild a file system).
189 The target file system should be made pristine with
193 into the pristine file system
194 before starting the restoration of the initial level 0 backup.
196 level 0 restores successfully, the
198 flag may be used to restore
199 any necessary incremental backups on top of the level 0.
202 flag precludes an interactive file extraction and can be
203 detrimental to one's health if not used carefully (not to mention
204 the disk). An example:
205 .Bd -literal -offset indent
207 mount /dev/da0s1a /mnt
217 in the root directory to pass information between incremental
219 This file should be removed when the last incremental has been
229 may be used to modify file system parameters
230 such as size or block size.
232 The names of the specified files are listed if they occur
234 If no file argument is given,
235 then the root directory is listed,
236 which results in the entire content of the
240 flag has been specified.
243 flag replaces the function of the old
247 The named files are read from the given media.
248 If a named file matches a directory whose contents
252 flag is not specified,
253 the directory is recursively extracted.
254 The owner, modification time,
255 and mode are restored (if possible).
256 If no file argument is given,
257 then the root directory is extracted,
258 which results in the entire content of the
259 backup being extracted,
262 flag has been specified.
265 The following additional options may be specified:
267 .It Fl b Ar blocksize
268 The number of kilobytes per dump record.
271 option is not specified,
273 tries to determine the media block size dynamically.
277 will try to determine dynamically whether the dump was made from an
278 old (pre-4.4) or new format file system. The
280 flag disables this check, and only allows reading a dump in the old
283 Sends verbose debugging output to the standard error.
288 may be a special device file
297 (the standard input).
298 If the name of the file is of the form
303 reads from the named file on the remote host using
306 Use Kerberos authentication when contacting the remote tape server.
307 (Only available if this options was enabled when
311 Extract the actual directory,
312 rather than the files that it references.
313 This prevents hierarchical restoration of complete subtrees
316 Extract by inode numbers rather than by file name.
317 This is useful if only a few files are being extracted,
318 and one wants to avoid regenerating the complete pathname
321 Do the extraction normally, but do not actually write any changes
323 This can be used to check the integrity of dump media
324 or other test purposes.
326 Read from the specified
328 on a multi-file tape.
329 File numbering starts at 1.
331 When creating certain types of files, restore may generate a warning
332 diagnostic if they already exist in the target directory.
335 (unlink) flag causes restore to remove old entries before attempting
340 does its work silently.
344 flag causes it to type the name of each file it treats
345 preceded by its file type.
347 Do not ask the user whether to abort the restore in the event of an error.
348 Always try to skip over the bad block(s) and continue.
351 .Bl -tag -width ".Ev TMPDIR"
353 Device from which to read backup.
355 Name of directory where temporary files are to be created.
358 .Bl -tag -width "./restoresymtable" -compact
360 the default tape drive
362 file containing directories on the tape.
364 owner, mode, and time stamps for directories.
365 .It Pa \&./restoresymtable
366 information passed between incremental restores.
371 utility complains if it gets a read error.
374 has been specified, or the user responds
377 will attempt to continue the restore.
379 If a backup was made using more than one tape volume,
381 will notify the user when it is time to mount the next volume.
386 flag has been specified,
388 will also ask which volume the user wishes to mount.
389 The fastest way to extract a few files is to
390 start with the last volume, and work towards the first volume.
392 There are numerous consistency checks that can be listed by
394 Most checks are self-explanatory or can ``never happen''.
395 Common errors are given below.
397 .Bl -tag -width Ds -compact
398 .It Converting to new file system format.
399 A dump tape created from the old file system has been loaded.
400 It is automatically converted to the new file system format.
402 .It <filename>: not found on tape
403 The specified file name was listed in the tape directory,
404 but was not found on the tape.
405 This is caused by tape read errors while looking for the file,
406 and from using a dump tape created on an active file system.
408 .It expected next file <inumber>, got <inumber>
409 A file that was not listed in the directory showed up.
410 This can occur when using a dump created on an active file system.
412 .It Incremental dump too low
413 When doing incremental restore,
414 a dump that was written before the previous incremental dump,
415 or that has too low an incremental level has been loaded.
417 .It Incremental dump too high
418 When doing incremental restore,
419 a dump that does not begin its coverage where the previous incremental
421 or that has too high an incremental level has been loaded.
423 .It Tape read error while restoring <filename>
424 .It Tape read error while skipping over inode <inumber>
425 .It Tape read error while trying to resynchronize
426 A tape (or other media) read error has occurred.
427 If a file name is specified,
428 then its contents are probably partially wrong.
429 If an inode is being skipped or the tape is trying to resynchronize,
430 then no extracted files have been corrupted,
431 though files may not be found on the tape.
433 .It resync restore, skipped <num> blocks
434 After a dump read error,
436 may have to resynchronize itself.
437 This message lists the number of blocks that were skipped over.
453 utility can get confused when doing incremental restores from
454 dumps that were made on active file systems.
456 A level zero dump must be done after a full restore.
457 Because restore runs in user code,
458 it has no control over inode allocation;
459 thus a full dump must be done to get a new set of directories
460 reflecting the new inode numbering,
461 even though the contents of the files is unchanged.
463 To do a network restore, you have to run restore as root. This is due
464 to the previous security history of dump and restore. (restore is
465 written to be setuid root, but we are not certain all bugs are gone
466 from the restore code - run setuid at your own risk.)
472 are generated with a unique name based on the date of the dump
473 and the process ID (see
482 allows you to restart a
484 operation that may have been interrupted, the temporary files should
485 be the same across different processes.
486 In all other cases, the files are unique because it is possible to
487 have two different dumps started at the same time, and separate
488 operations shouldn't conflict with each other.