|
|
1.1 root 1: .TH RESTORE 8 "19 January 1983"
2: .UC 4
3: .SH NAME
4: restore \- incremental file system restore
5: .SH SYNOPSIS
6: .B /etc/restore
7: key [ name ... ]
8: .SH DESCRIPTION
9: .PP
10: .I Restore
11: reads tapes dumped with the
12: .IR dump (8)
13: command.
14: Its actions are controlled by the
15: .I key
16: argument.
17: The
18: .I key
19: is a string of characters containing
20: at most one function letter and possibly
21: one or more function modifiers.
22: Other arguments to the command are file or directory
23: names specifying the files that are to be restored.
24: Unless the
25: .B h
26: key is specified (see below),
27: the appearance of a directory name refers to
28: the files and (recursively) subdirectories of that directory.
29: .PP
30: The function portion of
31: the key is specified by one of the following letters:
32: .TP 5n
33: .B r
34: The tape
35: is read and loaded into the current directory.
36: This should not be done lightly; the
37: .B r
38: key should only be used to restore
39: a complete dump tape onto a clear file system
40: or to restore an incremental dump tape after a full level zero restore.
41: Thus
42: .IP "" 5n
43: /etc/newfs /dev/rfsd0c fsd
44: .br
45: /etc/mount /dev/fsd0c /usr
46: .br
47: cd /usr
48: .br
49: restore r
50: .IP "" 5n
51: is a typical sequence to restore a complete dump.
52: Another
53: .I restore
54: can be done to get an incremental dump
55: in on top of this.
56: Note that
57: .I restore
58: leaves a file
59: .I restoresymtab
60: in the root directory to pass information between incremental
61: restore passes.
62: This file should be removed when the last incremental tape has been
63: restored.
64: .br
65: A
66: .IR dump (8)
67: followed by a
68: .IR newfs (8)
69: and a
70: .I restore
71: is used to change the size of a file system.
72: .TP 5n
73: .B R
74: .I Restore
75: requests a particular tape of a multi volume set on which to restart
76: a full restore
77: (see the
78: .B r
79: key above).
80: This allows
81: .I restore
82: to be interrupted and then restarted.
83: .TP 5n
84: .B x
85: The named files are extracted from the tape.
86: If the named file matches a directory whose contents
87: had been written onto the tape,
88: and the
89: .B h
90: key is not specified,
91: the directory is recursively extracted.
92: The owner, modification time,
93: and mode are restored (if possible).
94: If no file argument is given,
95: then the root directory is extracted,
96: which results in the entire content of the
97: tape being extracted,
98: unless the
99: .B h
100: key has been specified.
101: .TP 5n
102: .B t
103: The names of the specified files are listed if they occur
104: on the tape.
105: If no file argument is given,
106: then the root directory is listed,
107: which results in the entire content of the
108: tape being listed,
109: unless the
110: .B h
111: key has been specified.
112: Note that the
113: .B t
114: key replaces the function of the old
115: .I dumpdir
116: program.
117: .TP 5n
118: .B i
119: This mode allows interactive restoration of files from a dump tape.
120: After reading in the directory information from the tape,
121: .I restore
122: provides a shell like interface that allows the user to move
123: around the directory tree selecting files to be extracted.
124: The available commands are given below;
125: for those commands that require an argument,
126: the default is the current directory.
127: .IP "" 10n
128: .ti -5n
129: .br
130: .B ls
131: [arg] \-
132: List the current or specified directory.
133: Entries that are directories are appended with a ``/''.
134: Entries that have been marked for extraction are prepended with a ``*''.
135: If the verbose key is set the inode number of each entry is also listed.
136: .ti -5n
137: .sp
138: .B cd
139: arg \-
140: Change the current working directory to the specified argument.
141: .ti -5n
142: .sp
143: .B pwd
144: \-
145: Print the full pathname of the current working directory.
146: .ti -5n
147: .sp
148: .B add
149: [arg] \-
150: The current directory or specified argument is added to the list of
151: files to be extracted.
152: If a directory is specified, then it and all its descendents are
153: added to the extraction list
154: (unless the
155: .B h
156: key is specified on the command line).
157: Files that are on the extraction list are prepended with a ``*''
158: when they are listed by
159: .BR ls .
160: .ti -5n
161: .sp
162: .B delete
163: [arg] \-
164: The current directory or specified argument is deleted from the list of
165: files to be extracted.
166: If a directory is specified, then it and all its descendents are
167: deleted from the extraction list
168: (unless the
169: .B h
170: key is specified on the command line).
171: The most expedient way to extract most of the files from a directory
172: is to add the directory to the extraction list and then delete
173: those files that are not needed.
174: .ti -5n
175: .sp
176: .B extract
177: \-
178: All the files that are on the extraction list are extracted
179: from the dump tape.
180: .I Restore
181: will ask which volume the user wishes to mount.
182: The fastest way to extract a few files is to
183: start with the last volume, and work towards the first volume.
184: .ti -5n
185: .sp
186: .B verbose
187: \-
188: The sense of the
189: .B v
190: key is toggled.
191: When set, the verbose key causes the
192: .B ls
193: command to list the inode numbers of all entries.
194: It also causes
195: .I restore
196: to print out information about each file as it is extracted.
197: .ti -5n
198: .sp
199: .B help
200: \-
201: List a summary of the available commands.
202: .ti -5n
203: .sp
204: .B quit
205: \-
206: Restore immediately exits,
207: even if the extraction list is not empty.
208: .sp
209: .PP
210: The following characters may be used in addition to the letter
211: that selects the function desired.
212: .TP 5n
213: .B v
214: Normally
215: .I restore
216: does its work silently.
217: The
218: .B v
219: (verbose)
220: key causes it to type the name of each file it treats
221: preceded by its file type.
222: .TP 5n
223: .B f
224: The next argument to
225: .I restore
226: is used as the name of the archive instead
227: of /dev/rcy?.
228: If the name of the file is ``\-'',
229: .I restore
230: reads from standard input.
231: Thus,
232: .IR dump (8)
233: and
234: .I restore
235: can be used in a pipeline to dump and restore a file system
236: with the command
237: .IP "" 5n
238: dump 0f - /usr | (cd /mnt; restore xf -)
239: .TP 5n
240: .B y
241: .I Restore
242: will not ask whether it should abort the restore if gets a tape error.
243: It will always try to skip over the bad tape block(s) and continue as
244: best it can.
245: .TP 5n
246: .B m
247: .I Restore
248: will extract by inode numbers rather than by file name.
249: This is useful if only a few files are being extracted,
250: and one wants to avoid regenerating the complete pathname
251: to the file.
252: .TP 5n
253: .B h
254: .I Restore
255: extracts the actual directory,
256: rather than the files that it references.
257: This prevents hierarchical restoration of complete subtrees
258: from the tape.
259: .SH DIAGNOSTICS
260: Complaints about bad key characters.
261: .PP
262: Complaints if it gets a read error.
263: If
264: .B y
265: has been specified, or the user responds ``y'',
266: .I restore
267: will attempt to continue the restore.
268: .PP
269: If the dump extends over more than one tape,
270: .I restore
271: will ask the user to change tapes.
272: If the
273: .B x
274: or
275: .B i
276: key has been specified,
277: .I restore
278: will also ask which volume the user wishes to mount.
279: The fastest way to extract a few files is to
280: start with the last volume, and work towards the first volume.
281: .PP
282: There are numerous consistency checks that can be listed by
283: .IR restore .
284: Most checks are self-explanatory or can ``never happen''.
285: Common errors are given below.
286: .IP "Converting to new file system format." 5n
287: .br
288: A dump tape created from the old file system has been loaded.
289: It is automatically converted to the new file system format.
290: .IP "<filename>: not found on tape" 5n
291: .br
292: The specified file name was listed in the tape directory,
293: but was not found on the tape.
294: This is caused by tape read errors while looking for the file,
295: and from using a dump tape created on an active file system.
296: .IP "expected next file <inumber>, got <inumber>" 5n
297: .br
298: A file that was not listed in the directory showed up.
299: This can occur when using a dump tape created on an active file system.
300: .IP "Incremental tape too low" 5n
301: .br
302: When doing incremental restore,
303: a tape that was written before the previous incremental tape,
304: or that has too low an incremental level has been loaded.
305: .IP "Incremental tape too high" 5n
306: .br
307: When doing incremental restore,
308: a tape that does not begin its coverage where the previous incremental
309: tape left off,
310: or that has too high an incremental level has been loaded.
311: .IP "Tape read error while restoring <filename>" 5n
312: .ti -5n
313: .br
314: Tape read error while skipping over inode <inumber>
315: .ti -5n
316: .br
317: Tape read error while trying to resynchronize
318: .br
319: A tape read error has occurred.
320: If a file name is specified,
321: then its contents are probably partially wrong.
322: If an inode is being skipped or the tape is trying to resynchronize,
323: then no extracted files have been corrupted,
324: though files may not be found on the tape.
325: .IP "resync restore, skipped <num> blocks" 5n
326: .br
327: After a tape read error,
328: .I restore
329: may have to resynchronize itself.
330: This message lists the number of blocks that were skipped over.
331: .SH FILES
332: /dev/rcy? the default tape drive
333: .br
334: /tmp/rstdir* file containing directories on the tape.
335: .br
336: /tmp/rstmode* owner, mode, and time stamps for directories.
337: .br
338: \&./restoresymtab information passed between incremental restores.
339: .SH SEE ALSO
340: rrestore(8C), dump(8), newfs(8), mount(8), mkfs(8)
341: .SH BUGS
342: .I Restore
343: can get confused when doing incremental restores from
344: dump tapes that were made on active file systems.
345: .PP
346: A level zero dump must be done after a full restore.
347: Because restore runs in user code,
348: it has no control over inode allocation;
349: thus a full restore must be done to get a new set of directories
350: reflecting the new inode numbering,
351: even though the contents of the files is unchanged.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.