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