]> git.wh0rd.org - dump.git/blob - restore/restore.8.in
QFA support.
[dump.git] / restore / restore.8.in
1 .\" Copyright (c) 1985, 1991, 1993
2 .\" The Regents of the University of California. All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
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. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" $Id: restore.8.in,v 1.13 2001/04/10 12:46:53 stelian Exp $
33 .\"
34 .Dd __DATE__
35 .Dt RESTORE 8
36 .Os "restore __VERSION__"
37 .Sh NAME
38 .Nm restore
39 .Nd "restore files or file systems from backups made with dump"
40 .Sh SYNOPSIS
41 .Nm restore
42 .Fl C
43 .Op Fl ckMvy
44 .Op Fl b Ar blocksize
45 .Op Fl D Ar filesystem
46 .Op Fl f Ar file
47 .Op Fl Q Ar file
48 .Op Fl s Ar fileno
49 .Op Fl T Ar directory
50 .Nm restore
51 .Fl i
52 .Op Fl chkmMNuvy
53 .Op Fl b Ar blocksize
54 .Op Fl f Ar file
55 .Op Fl Q Ar file
56 .Op Fl s Ar fileno
57 .Op Fl T Ar directory
58 .Nm restore
59 .Fl R
60 .Op Fl ckMNuvy
61 .Op Fl b Ar blocksize
62 .Op Fl f Ar file
63 .Op Fl Q Ar file
64 .Op Fl s Ar fileno
65 .Op Fl T Ar directory
66 .Nm restore
67 .Fl r
68 .Op Fl ckMNuvy
69 .Op Fl b Ar blocksize
70 .Op Fl f Ar file
71 .Op Fl Q Ar file
72 .Op Fl s Ar fileno
73 .Op Fl T Ar directory
74 .Nm restore
75 .Fl t
76 .Op Fl chkMNuvy
77 .Op Fl b Ar blocksize
78 .Op Fl f Ar file
79 .Op Fl Q Ar file
80 .Op Fl s Ar fileno
81 .Op Fl T Ar directory
82 .Op Fl X Ar filelist
83 .Op file ...
84 .Nm restore
85 .Fl x
86 .Op Fl chkmMNuvy
87 .Op Fl b Ar blocksize
88 .Op Fl f Ar file
89 .Op Fl Q Ar file
90 .Op Fl s Ar fileno
91 .Op Fl T Ar directory
92 .Op Fl X Ar filelist
93 .Op file ...
94 .Pp
95 .in
96 (The
97 .Bx 4.3
98 option syntax is implemented for backward compatibility but
99 is not documented here.)
100 .Sh DESCRIPTION
101 The
102 .Nm restore
103 command performs the inverse function of
104 .Xr dump 8 .
105 A full backup of a file system may be restored and
106 subsequent incremental backups layered on top of it.
107 Single files and
108 directory subtrees may be restored from full or partial
109 backups.
110 .Nm Restore
111 works across a network;
112 to do this see the
113 .Fl f
114 flag described below.
115 Other arguments to the command are file or directory
116 names specifying the files that are to be restored.
117 Unless the
118 .Fl h
119 flag is specified (see below),
120 the appearance of a directory name refers to
121 the files and (recursively) subdirectories of that directory.
122 .Pp
123 Exactly one of the following flags is required:
124 .Bl -tag -width Ds
125 .It Fl C
126 This mode allows comparison of files from a dump.
127 .Nm Restore
128 reads the backup and compares its contents with files present on the
129 disk.
130 It first changes its working directory to the root of the filesystem
131 that was dumped and compares the tape with the files in its new
132 current directory.
133 .It Fl i
134 This mode allows interactive restoration of files from a dump.
135 After reading in the directory information from the dump,
136 .Nm restore
137 provides a shell like interface that allows the user to move
138 around the directory tree selecting files to be extracted.
139 The available commands are given below;
140 for those commands that require an argument,
141 the default is the current directory.
142 .Bl -tag -width Fl
143 .It Ic add Op Ar arg
144 The current directory or specified argument is added to the list of
145 files to be extracted.
146 If a directory is specified, then it and all its descendents are
147 added to the extraction list
148 (unless the
149 .Fl h
150 flag is specified on the command line).
151 Files that are on the extraction list are prepended with a
152 .Dq \&*
153 when they are listed by
154 .Ic ls .
155 .It Ic \&cd Ar arg
156 Change the current working directory to the specified argument.
157 .It Ic delete Op Ar arg
158 The current directory or specified argument is deleted from the list of
159 files to be extracted.
160 If a directory is specified, then it and all its descendents are
161 deleted from the extraction list
162 (unless the
163 .Fl h
164 flag is specified on the command line).
165 The most expedient way to extract most of the files from a directory
166 is to add the directory to the extraction list and then delete
167 those files that are not needed.
168 .It Ic extract
169 All files on the extraction list are extracted
170 from the dump.
171 .Nm Restore
172 will ask which volume the user wishes to mount.
173 The fastest way to extract a few files is to
174 start with the last volume and work towards the first volume.
175 .It Ic help
176 List a summary of the available commands.
177 .It Ic \&ls Op Ar arg
178 List the current or specified directory.
179 Entries that are directories are appended with a
180 .Dq \&* .
181 Entries that have been marked for extraction are prepended with a ``*''.
182 If the verbose
183 flag is set, the inode number of each entry is also listed.
184 .It Ic pwd
185 Print the full pathname of the current working directory.
186 .It Ic quit
187 Restore immediately exits,
188 even if the extraction list is not empty.
189 .It Ic setmodes
190 All directories that have been added to the extraction list
191 have their owner, modes, and times set;
192 nothing is extracted from the dump.
193 This is useful for cleaning up after a restore has been prematurely aborted.
194 .It Ic verbose
195 The sense of the
196 .Fl v
197 flag is toggled.
198 When set, the verbose flag causes the
199 .Ic ls
200 command to list the inode numbers of all entries.
201 It also causes
202 .Nm restore
203 to print out information about each file as it is extracted.
204 .El
205 .It Fl R
206 .Nm Restore
207 requests a particular tape of a multi-volume set on which to restart
208 a full restore
209 (see the
210 .Fl r
211 flag below).
212 This is useful if the restore has been interrupted.
213 .It Fl r
214 Restore (rebuild) a file system.
215 The target file system should be made pristine with
216 .Xr mke2fs 8 ,
217 mounted, and the user
218 .Xr cd Ns 'd
219 into the pristine file system
220 before starting the restoration of the initial level 0 backup. If the
221 level 0 restores successfully, the
222 .Fl r
223 flag may be used to restore
224 any necessary incremental backups on top of the level 0.
225 The
226 .Fl r
227 flag precludes an interactive file extraction and can be
228 detrimental to one's health (not to mention the disk) if not used carefully.
229 An example:
230 .Bd -literal -offset indent
231 mke2fs /dev/sda1
232 mount /dev/sda1 /mnt
233 cd /mnt
234
235 restore rf /dev/st0
236 .Ed
237 .Pp
238 Note that
239 .Nm restore
240 leaves a file
241 .Pa restoresymtable
242 in the root directory to pass information between incremental
243 restore passes.
244 This file should be removed when the last incremental has been
245 restored.
246 .Pp
247 .Nm Restore ,
248 in conjunction with
249 .Xr mke2fs 8
250 and
251 .Xr dump 8 ,
252 may be used to modify file system parameters
253 such as size or block size.
254 .It Fl t
255 The names of the specified files are listed if they occur
256 on the backup.
257 If no file argument is given,
258 the root directory is listed,
259 which results in the entire content of the
260 backup being listed,
261 unless the
262 .Fl h
263 flag has been specified.
264 Note that the
265 .Fl t
266 flag replaces the function of the old
267 .Xr dumpdir 8
268 program.
269 See also the
270 .Fl X
271 option below.
272 .ne 1i
273 .It Fl x
274 The named files are read from the given media.
275 If a named file matches a directory whose contents
276 are on the backup
277 and the
278 .Fl h
279 flag is not specified,
280 the directory is recursively extracted.
281 The owner, modification time,
282 and mode are restored (if possible).
283 If no file argument is given,
284 the root directory is extracted,
285 which results in the entire content of the
286 backup being extracted,
287 unless the
288 .Fl h
289 flag has been specified.
290 See also the
291 .Fl X
292 option below.
293 .El
294 .Pp
295 The following additional options may be specified:
296 .Bl -tag -width Ds
297 .It Fl b Ar blocksize
298 The number of kilobytes per dump record.
299 If the
300 .Fl b
301 option is not specified,
302 .Nm restore
303 tries to determine the media block size dynamically.
304 .It Fl c
305 Normally,
306 .Nm restore
307 will try to determine dynamically whether the dump was made from an
308 old (pre-4.4) or new format file system. The
309 .Fl c
310 flag disables this check, and only allows reading a dump in the old
311 format.
312 .It Fl D Ar filesystem
313 The
314 .Fl D
315 flag allows the user to specify the filesystem name when using
316 .Nm restore
317 with the
318 .Fl C
319 option to check the backup.
320 .It Fl f Ar file
321 Read the backup from
322 .Ar file ;
323 .Ar file
324 may be a special device file
325 like
326 .Pa /dev/st0
327 (a tape drive),
328 .Pa /dev/sda1
329 (a disk drive),
330 an ordinary file,
331 or
332 .Ql Fl
333 (the standard input).
334 If the name of the file is of the form
335 .Dq host:file
336 or
337 .Dq user@host:file ,
338 .Nm restore
339 reads from the named file on the remote host using
340 .Xr rmt 8 .
341 .Pp
342 .It Fl k
343 Use Kerberos authentication when contacting the remote tape server.
344 (Only available if this options was enabled when
345 .Nm restore
346 was compiled.)
347 .Pp
348 .It Fl h
349 Extract the actual directory,
350 rather than the files that it references.
351 This prevents hierarchical restoration of complete subtrees
352 from the dump.
353 .It Fl m
354 Extract by inode numbers rather than by file name.
355 This is useful if only a few files are being extracted,
356 and one wants to avoid regenerating the complete pathname
357 to the file.
358 .It Fl M
359 Enables the multi-volume feature (for reading dumps made using
360 the
361 .Fl M
362 option of dump). The name specified with
363 .Fl f
364 is treated as a prefix and
365 .Nm
366 tries to read in sequence from <prefix>001, <prefix>002 etc.
367 .It Fl N
368 The
369 .Fl N
370 flag causes
371 .Nm
372 to only print file names. Files are not extracted.
373 .It Fl Q Ar file
374 Use the file
375 .Ar file
376 in order to read tape position as stored using the dump Quick File
377 Access mode.
378 .It Fl s Ar fileno
379 Read from the specified
380 .Ar fileno
381 on a multi-file tape.
382 File numbering starts at 1.
383 .It Fl T Ar directory
384 The
385 .Fl T
386 flag allows the user to specify a directory to use for the storage of
387 temporary files. The default value is /tmp. This flag is most useful
388 when restoring files after having booted from a floppy. There might be little
389 or no space on the floppy filesystem, but another source of space might exist.
390 .It Fl u
391 When creating certain types of files, restore may generate a warning
392 diagnostic if they already exist in the target directory.
393 To prevent this, the
394 .Fl u
395 (unlink) flag causes restore to remove old entries before attempting
396 to create new ones.
397 .It Fl v
398 Normally
399 .Nm restore
400 does its work silently.
401 The
402 .Fl v
403 (verbose)
404 flag causes it to type the name of each file it treats
405 preceded by its file type.
406 .It Fl X Ar filelist
407 Read list of files to be listed or extracted from the text file
408 .Ar filelist
409 in addition to those specified on the command line. This can be used in
410 conjunction with the
411 .Fl t
412 or
413 .Fl x
414 commands. The file
415 .Ar filelist
416 should contain file names separated by newlines.
417 .Ar filelist
418 may be an ordinary file or
419 .Ql Fl
420 (the standard input).
421 .It Fl y
422 Do not ask the user whether to abort the restore in the event of an error.
423 Always try to skip over the bad block(s) and continue.
424 .El
425 .Sh DIAGNOSTICS
426 Complains if it gets a read error.
427 If
428 .Fl y
429 has been specified, or the user responds
430 .Ql y ,
431 .Nm restore
432 will attempt to continue the restore.
433 .Pp
434 If a backup was made using more than one tape volume,
435 .Nm restore
436 will notify the user when it is time to mount the next volume.
437 If the
438 .Fl x
439 or
440 .Fl i
441 flag has been specified,
442 .Nm restore
443 will also ask which volume the user wishes to mount.
444 The fastest way to extract a few files is to
445 start with the last volume, and work towards the first volume.
446 .Pp
447 There are numerous consistency checks that can be listed by
448 .Nm restore .
449 Most checks are self-explanatory or can
450 .Dq never happen .
451 Common errors are given below.
452 .Pp
453 .Bl -tag -width Ds -compact
454 .It Converting to new file system format
455 A dump tape created from the old file system has been loaded.
456 It is automatically converted to the new file system format.
457 .Pp
458 .It <filename>: not found on tape
459 The specified file name was listed in the tape directory,
460 but was not found on the tape.
461 This is caused by tape read errors while looking for the file,
462 and from using a dump tape created on an active file system.
463 .Pp
464 .It expected next file <inumber>, got <inumber>
465 A file that was not listed in the directory showed up.
466 This can occur when using a dump created on an active file system.
467 .Pp
468 .It Incremental dump too low
469 When doing an incremental restore,
470 a dump that was written before the previous incremental dump,
471 or that has too low an incremental level has been loaded.
472 .Pp
473 .It Incremental dump too high
474 When doing an incremental restore,
475 a dump that does not begin its coverage where the previous incremental
476 dump left off,
477 or that has too high an incremental level has been loaded.
478 .Pp
479 .It Tape read error while restoring <filename>
480 .It Tape read error while skipping over inode <inumber>
481 .It Tape read error while trying to resynchronize
482 A tape (or other media) read error has occurred.
483 If a file name is specified,
484 its contents are probably partially wrong.
485 If an inode is being skipped or the tape is trying to resynchronize,
486 no extracted files have been corrupted,
487 though files may not be found on the tape.
488 .Pp
489 .It resync restore, skipped <num> blocks
490 After a dump read error,
491 .Nm restore
492 may have to resynchronize itself.
493 This message lists the number of blocks that were skipped over.
494 .El
495 .Pp
496 .Nm Restore
497 exits with zero status on success.
498 Tape errors are indicated with an exit code of 1.
499 .Pp
500 When doing a comparison of files from a dump, an exit code
501 of 2 indicates that some files were modified or deleted since
502 the dump was made.
503 .Sh ENVIRONMENT
504 If the following environment variable exists it will be utilized by
505 .Nm restore :
506 .Pp
507 .Bl -tag -width "TMPDIR" -compact
508 .It Ev TAPE
509 If no -f option was specified,
510 .Nm
511 will use the device specified via
512 .Ev TAPE
513 as the dump device.
514 .Ev TAPE
515 may be of the form
516 .Qq tapename ,
517 .Qq host:tapename
518 or
519 .Qq user@host:tapename .
520 .It Ev TMPDIR
521 The directory given in
522 .Ev TMPDIR
523 will be used
524 instead of
525 .Pa /tmp
526 to store temporary files.
527 .It Ev RMT
528 The environment variable
529 .Ev RMT
530 will be used to determine the pathname of the remote
531 .Xr rmt 8
532 program.
533 .It Ev RSH
534 .Nm Restore
535 uses the contents of this variable to determine the name of the
536 remote shell command to use when doing a network restore (rsh, ssh etc.).
537 If this variable is not set,
538 .Xr rcmd 3
539 will be used, but only root will be able to do a network restore.
540 .Sh FILES
541 .Bl -tag -width "./restoresymtable" -compact
542 .It Pa /dev/st0
543 the default tape drive
544 .It Pa /tmp/rstdir*
545 file containing directories on the tape
546 .It Pa /tmp/rstmode*
547 owner, mode, and time stamps for directories
548 .It Pa \&./restoresymtable
549 information passed between incremental restores
550 .El
551 .Sh SEE ALSO
552 .Xr dump 8 ,
553 .Xr mount 8 ,
554 .Xr mke2fs 8 ,
555 .Xr rmt 8
556 .Sh BUGS
557 .Nm Restore
558 can get confused when doing incremental restores from
559 dumps that were made on active file systems.
560 .Pp
561 A level 0 dump must be done after a full restore.
562 Because
563 .Nm restore
564 runs in user code,
565 it has no control over inode allocation;
566 thus a full dump must be done to get a new set of directories
567 reflecting the new inode numbering,
568 even though the content of the files is unchanged.
569 .Pp
570 The temporary files
571 .Pa /tmp/rstdir*
572 and
573 .Pa /tmp/rstmode*
574 are generated with a unique name based on the date of the dump
575 and the process ID (see
576 .Xr mktemp 3 ),
577 except when
578 .Fl r
579 or
580 .Fl R
581 is used.
582 Because
583 .Fl R
584 allows you to restart a
585 .Fl r
586 operation that may have been interrupted, the temporary files should
587 be the same across different processes.
588 In all other cases, the files are unique because it is possible to
589 have two different dumps started at the same time, and separate
590 operations shouldn't conflict with each other.
591 .Pp
592 To do a network restore, you have to run restore as root or use
593 a remote shell replacement (see RSH variable). This is due
594 to the previous security history of dump and restore. (restore is
595 written to be setuid root, but we are not certain all bugs are gone
596 from the restore code - run setuid at your own risk.)
597 .Sh AUTHOR
598 The
599 .Nm dump/restore
600 backup suite was ported to Linux's Second Extended File System
601 by Remy Card <card@Linux.EU.Org>. He maintained the initial versions
602 of dump (up and including 0.4b4, released in january 1997).
603 .Pp
604 Starting with 0.4b5, the new maintainer is Stelian Pop
605 .br
606 <pop@noos.fr>.
607 .Sh AVAILABILITY
608 The
609 .Nm dump/restore
610 backup suite is available from
611 .br
612 http://dump.sourceforge.net
613 .Sh HISTORY
614 The
615 .Nm restore
616 command appeared in
617 .Bx 4.2 .