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