]>
Commit | Line | Data |
---|---|---|
1 | .\" Copyright (c) 1980, 1991, 1993 | |
2 | .\" Regents of the University of California. | |
3 | .\" All rights reserved. | |
4 | .\" | |
5 | .\" Redistribution and use in source and binary forms, with or without | |
6 | .\" modification, are permitted provided that the following conditions | |
7 | .\" are met: | |
8 | .\" 1. Redistributions of source code must retain the above copyright | |
9 | .\" notice, this list of conditions and the following disclaimer. | |
10 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
11 | .\" notice, this list of conditions and the following disclaimer in the | |
12 | .\" documentation and/or other materials provided with the distribution. | |
13 | .\" 3. All advertising materials mentioning features or use of this software | |
14 | .\" must display the following acknowledgement: | |
15 | .\" This product includes software developed by the University of | |
16 | .\" California, Berkeley and its contributors. | |
17 | .\" 4. Neither the name of the University nor the names of its contributors | |
18 | .\" may be used to endorse or promote products derived from this software | |
19 | .\" without specific prior written permission. | |
20 | .\" | |
21 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
22 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
23 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
24 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
25 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
26 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
27 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
28 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
29 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
31 | .\" SUCH DAMAGE. | |
32 | .\" | |
33 | .\" $Id: dump.8.in,v 1.31 2001/08/16 09:37:59 stelian Exp $ | |
34 | .\" | |
35 | .Dd __DATE__ | |
36 | .Dt DUMP 8 | |
37 | .Os "dump __VERSION__" | |
38 | .Sh NAME | |
39 | .Nm dump | |
40 | .Nd ext2 filesystem backup | |
41 | .Sh SYNOPSIS | |
42 | .Nm dump | |
43 | .Op Fl 0123456789ackMnqSu | |
44 | .Op Fl B Ar records | |
45 | .Op Fl b Ar blocksize | |
46 | .Op Fl d Ar density | |
47 | .Op Fl e Ar inode numbers | |
48 | .Op Fl E Ar file | |
49 | .Op Fl f Ar file | |
50 | .Op Fl F Ar script | |
51 | .Op Fl h Ar level | |
52 | .Op Fl L Ar label | |
53 | .Op Fl Q Ar file | |
54 | .Op Fl s Ar feet | |
55 | .Op Fl T Ar date | |
56 | .Op Fl z Ar compression level | |
57 | .Ar files-to-dump | |
58 | .Nm dump | |
59 | .Op Fl W Li \&| Fl w | |
60 | .Pp | |
61 | .in | |
62 | (The | |
63 | .Bx 4.3 | |
64 | option syntax is implemented for backward compatibility but | |
65 | is not documented here.) | |
66 | .Sh DESCRIPTION | |
67 | .Nm Dump | |
68 | examines files | |
69 | on an ext2 filesystem | |
70 | and determines which files | |
71 | need to be backed up. These files | |
72 | are copied to the given disk, tape or other | |
73 | storage medium for safe keeping (see the | |
74 | .Fl f | |
75 | option below for doing remote backups). | |
76 | A dump that is larger than the output medium is broken into | |
77 | multiple volumes. | |
78 | On most media the size is determined by writing until an | |
79 | end-of-media indication is returned. | |
80 | .Pp | |
81 | On media that cannot reliably return an end-of-media indication | |
82 | (such as some cartridge tape drives), each volume is of a fixed size; | |
83 | the actual size is determined by specifying cartridge media, or via the | |
84 | tape size, density and/or block count options below. | |
85 | By default, the same output file name is used for each volume | |
86 | after prompting the operator to change media. | |
87 | .Pp | |
88 | .Ar files-to-dump | |
89 | is either a mountpoint of a filesystem | |
90 | or a list of files and directories to be backed up as a subset of a | |
91 | filesystem. | |
92 | In the former case, either the path to a mounted filesystem | |
93 | or the device of an unmounted filesystem can be used. | |
94 | In the latter case, certain restrictions are placed on the backup: | |
95 | .Fl u | |
96 | is not allowed, the only dump level that is supported is | |
97 | .Fl 0 | |
98 | and all the files and directories must reside on the same filesystem. | |
99 | .Pp | |
100 | The following options are supported by | |
101 | .Nm Ns : | |
102 | .Bl -tag -width Ds | |
103 | .It Fl 0\-9 | |
104 | Dump levels. | |
105 | A level 0, full backup, | |
106 | guarantees the entire file system is copied | |
107 | (but see also the | |
108 | .Fl h | |
109 | option below). | |
110 | A level number above 0, | |
111 | incremental backup, | |
112 | tells | |
113 | .Nm dump | |
114 | to | |
115 | copy all files new or modified since the | |
116 | last dump of a lower level. | |
117 | The default level is 9. | |
118 | .It Fl B Ar records | |
119 | The number of 1 kB blocks per volume. | |
120 | This option overrides the end-of-media detection, and calculation | |
121 | of tape size based on length and density. If compression is on this | |
122 | limits the size of the compressed output per volume. | |
123 | .It Fl a | |
124 | .Dq auto-size . | |
125 | Bypass all tape length calculations, and write | |
126 | until an end-of-media indication is returned. This works best | |
127 | for most modern tape drives, and is the default. | |
128 | Use of this option is particularly recommended when appending to an | |
129 | existing tape, or using a tape drive with hardware compression | |
130 | (where you can never be sure about the compression ratio). | |
131 | .It Fl b Ar blocksize | |
132 | The number of kilobytes per dump record. | |
133 | Since the IO system slices all requests into chunks of MAXBSIZE | |
134 | (typically 64kB), it is not possible to use a larger blocksize | |
135 | without having problems later with | |
136 | .Xr restore 8 . | |
137 | Therefore | |
138 | .Nm dump | |
139 | will constrain writes to MAXBSIZE. | |
140 | The default blocksize is 10. | |
141 | .It Fl c | |
142 | Change the defaults for use with a cartridge tape drive, with a density | |
143 | of 8000 bpi, and a length of 1700 feet. Specifying a cartridge drive | |
144 | overrides the end-of-media detection. | |
145 | .It Fl e Ar inodes | |
146 | Exclude | |
147 | .Ar inodes | |
148 | from the dump. The | |
149 | .Ar inodes | |
150 | parameter is a comma separated list of inode numbers (you can use | |
151 | .Ar stat | |
152 | to find the inode number for a file or directory). | |
153 | .It Fl E Ar file | |
154 | Read list of inodes to be excluded from the dump from the text file | |
155 | .Ar file . | |
156 | The file | |
157 | .Ar file | |
158 | should be an ordinary file containing inode numbers separated by | |
159 | newlines. | |
160 | .It Fl h Ar level | |
161 | Honor the user | |
162 | .Dq nodump | |
163 | flag | |
164 | .Dp Dv UF_NODUMP | |
165 | only for dumps at or above the given | |
166 | .Ar level . | |
167 | The default honor level is 1, | |
168 | so that incremental backups omit such files | |
169 | but full backups retain them. | |
170 | .It Fl d Ar density | |
171 | Set tape density to | |
172 | .Ar density . | |
173 | The default is 1600BPI. Specifying a tape density overrides the | |
174 | end-of-media detection. | |
175 | .It Fl f Ar file | |
176 | Write the backup to | |
177 | .Ar file ; | |
178 | .Ar file | |
179 | may be a special device file | |
180 | like | |
181 | .Pa /dev/st0 | |
182 | (a tape drive), | |
183 | .Pa /dev/rsd1c | |
184 | (a floppy disk drive), | |
185 | an ordinary file, | |
186 | or | |
187 | .Ql Fl | |
188 | (the standard output). | |
189 | Multiple file names may be given as a single argument separated by commas. | |
190 | Each file will be used for one dump volume in the order listed; | |
191 | if the dump requires more volumes than the number of names given, | |
192 | the last file name will used for all remaining volumes after prompting | |
193 | for media changes. | |
194 | If the name of the file is of the form | |
195 | .Dq host:file | |
196 | or | |
197 | .Dq user@host:file | |
198 | .Nm | |
199 | writes to the named file on the remote host using | |
200 | .Xr rmt 8 . | |
201 | The default path name of the remote | |
202 | .Xr rmt 8 | |
203 | program is | |
204 | .\" rmt path, is the path on the remote host | |
205 | .Pa /etc/rmt ; | |
206 | this can be overridden by the environment variable | |
207 | .Ev RMT . | |
208 | .It Fl F Ar script | |
209 | Run script at the end of each tape. The device name and the | |
210 | current volume number are passed on the command line. | |
211 | The script must return 0 if | |
212 | .Nm | |
213 | should continue without asking the user to change the tape, 1 if | |
214 | .Nm | |
215 | should continue but ask the user to change the tape. | |
216 | Any other exit code will cause | |
217 | .Nm | |
218 | to abort. | |
219 | For security reasons, | |
220 | .Nm | |
221 | reverts back to the real user ID and the real group ID before | |
222 | running the script. | |
223 | .It Fl k | |
224 | Use Kerberos authentication to talk to remote tape servers. (Only | |
225 | available if this option was enabled when | |
226 | .Nm | |
227 | was compiled.) | |
228 | .It Fl L Ar label | |
229 | The user-supplied text string | |
230 | .Ar label | |
231 | is placed into the dump header, where tools like | |
232 | .Xr restore 8 | |
233 | and | |
234 | .Xr file 1 | |
235 | can access it. | |
236 | Note that this label is limited | |
237 | to be at most LBLSIZE (currently 16) characters, which must include | |
238 | the terminating | |
239 | .Ql \e0 . | |
240 | .It Fl M | |
241 | Enable the multi-volume feature. The name specified with | |
242 | .Fl f | |
243 | is treated as a prefix and | |
244 | .Nm | |
245 | writes in sequence to <prefix>001, <prefix>002 etc. This can be | |
246 | useful when dumping to files on an ext2 partition, in order to bypass | |
247 | the 2GB file size limitation. | |
248 | .It Fl n | |
249 | Whenever | |
250 | .Nm | |
251 | requires operator attention, | |
252 | notify all operators in the group | |
253 | .Dq operator | |
254 | by means similar to a | |
255 | .Xr wall 1 . | |
256 | .It Fl q | |
257 | Make | |
258 | .Nm | |
259 | abort immediately whenever operator attention is required, | |
260 | without prompting in case of write errors, tape changes etc. | |
261 | .It Fl Q Ar file | |
262 | Enable the Quick File Access support. Tape positions for each | |
263 | inode are stored into the file | |
264 | .Ar file | |
265 | which is used by restore (if called with parameter Q and the filename) | |
266 | to directly position the tape at the file restore is currently working | |
267 | on. This saves hours when restoring single files from large backups, | |
268 | saves the tapes and the drive's head. | |
269 | .Pp | |
270 | It is recommended to set up the st driver to return logical tape | |
271 | positions rather than physical before calling dump/restore with | |
272 | parameter Q. Since not all tape devices support physical tape | |
273 | positions those tape devices return an error during dump/restore when | |
274 | the st driver is set to the default physical setting. | |
275 | Please see the st man page, option MTSETDRVBUFFER, or the mt man | |
276 | page, on how to set the driver to return logical tape positions. | |
277 | .Pp | |
278 | Before calling restore with parameter Q, always make sure the st | |
279 | driver is set to return the same type of tape position used during the | |
280 | call to dump. Otherwise restore may be confused. | |
281 | .It Fl s Ar feet | |
282 | Attempt to calculate the amount of tape needed at a particular density. | |
283 | If this amount is exceeded, | |
284 | .Nm | |
285 | prompts for a new tape. | |
286 | It is recommended to be a bit conservative on this option. | |
287 | The default tape length is 2300 feet. Specifying the tape size | |
288 | overrides end-of-media detection. | |
289 | .ne 1i | |
290 | .It Fl S | |
291 | Size estimate. Determine the amount of space | |
292 | that is needed to perform the dump without | |
293 | actually doing it, and display the estimated | |
294 | number of bytes it will take. This is useful | |
295 | with incremental dumps to determine how many | |
296 | volumes of media will be needed. | |
297 | .It Fl T Ar date | |
298 | Use the specified date as the starting time for the dump | |
299 | instead of the time determined from looking in | |
300 | .Pa __DUMPDATES__ . | |
301 | The format of | |
302 | .Ar date | |
303 | is the same as that of | |
304 | .Xr ctime 3 . | |
305 | This option is useful for automated dump scripts that wish to | |
306 | dump over a specific period of time. | |
307 | The | |
308 | .Fl T | |
309 | option is mutually exclusive from the | |
310 | .Fl u | |
311 | option. | |
312 | .It Fl u | |
313 | Update the file | |
314 | .Pa __DUMPDATES__ | |
315 | after a successful dump. | |
316 | The format of | |
317 | .Pa __DUMPDATES__ | |
318 | is readable by people, consisting of one | |
319 | free format record per line: | |
320 | filesystem name, | |
321 | increment level | |
322 | and | |
323 | .Xr ctime 3 | |
324 | format dump date. | |
325 | There may be only one entry per filesystem at each level. | |
326 | The file | |
327 | .Pa __DUMPDATES__ | |
328 | may be edited to change any of the fields, | |
329 | if necessary. | |
330 | .It Fl W | |
331 | .Nm Dump | |
332 | tells the operator what file systems need to be dumped. | |
333 | This information is gleaned from the files | |
334 | .Pa __DUMPDATES__ | |
335 | and | |
336 | .Pa /etc/fstab . | |
337 | The | |
338 | .Fl W | |
339 | option causes | |
340 | .Nm | |
341 | to print out, for all file systems in | |
342 | .Pa __DUMPDATES__ , | |
343 | and regognized file systems in | |
344 | .Pa /etc/fstab . | |
345 | the most recent dump date and level, | |
346 | and highlights those that should be dumped. | |
347 | If the | |
348 | .Fl W | |
349 | option is set, all other options are ignored, and | |
350 | .Nm | |
351 | exits immediately. | |
352 | .It Fl w | |
353 | Is like | |
354 | .Fl W , | |
355 | but prints only recognized filesystems in | |
356 | .Pa /etc/fstab | |
357 | which need to be dumped. | |
358 | .It Fl z Ar compression level | |
359 | Compress every block to be written on the tape using zlib library. This | |
360 | option will work only when dumping to a file or pipe or, when dumping | |
361 | to a tape drive, if the tape drive is capable of writing variable | |
362 | length blocks. You will need at least the 0.4b22 version of restore in | |
363 | order to extract compressed tapes. Tapes written using compression will | |
364 | not be compatible with the BSD tape format. The (optional) parameter | |
365 | specifies the compression level zlib will use. The default compression | |
366 | level is 2. | |
367 | .El | |
368 | .Pp | |
369 | .Nm Dump | |
370 | requires operator intervention on these conditions: | |
371 | end of tape, | |
372 | end of dump, | |
373 | tape write error, | |
374 | tape open error or | |
375 | disk read error (if there is more than a threshold of 32). | |
376 | In addition to alerting all operators implied by the | |
377 | .Fl n | |
378 | key, | |
379 | .Nm | |
380 | interacts with the operator on | |
381 | .Em dump's | |
382 | control terminal at times when | |
383 | .Nm | |
384 | can no longer proceed, | |
385 | or if something is grossly wrong. | |
386 | All questions | |
387 | .Nm | |
388 | poses | |
389 | .Em must | |
390 | be answered by typing | |
391 | .Dq yes | |
392 | or | |
393 | .Dq no , | |
394 | appropriately. | |
395 | .Pp | |
396 | Since making a dump involves a lot of time and effort for full dumps, | |
397 | .Nm | |
398 | checkpoints itself at the start of each tape volume. | |
399 | If writing that volume fails for some reason, | |
400 | .Nm | |
401 | will, | |
402 | with operator permission, | |
403 | restart itself from the checkpoint | |
404 | after the old tape has been rewound and removed, | |
405 | and a new tape has been mounted. | |
406 | .Pp | |
407 | .Nm Dump | |
408 | tells the operator what is going on at periodic intervals, | |
409 | including usually low estimates of the number of blocks to write, | |
410 | the number of tapes it will take, the time to completion, and | |
411 | the time to the tape change. | |
412 | The output is verbose, | |
413 | so that others know that the terminal | |
414 | controlling | |
415 | .Nm | |
416 | is busy, | |
417 | and will be for some time. | |
418 | .Pp | |
419 | In the event of a catastrophic disk event, the time required | |
420 | to restore all the necessary backup tapes or files to disk | |
421 | can be kept to a minimum by staggering the incremental dumps. | |
422 | An efficient method of staggering incremental dumps | |
423 | to minimize the number of tapes follows: | |
424 | .Bl -bullet -offset indent | |
425 | .It | |
426 | Always start with a level 0 backup, for example: | |
427 | .Bd -literal -offset indent | |
428 | /sbin/dump -0u -f /dev/st0 /usr/src | |
429 | .Ed | |
430 | .Pp | |
431 | This should be done at set intervals, say once a month or once every two months, | |
432 | and on a set of fresh tapes that is saved forever. | |
433 | .It | |
434 | After a level 0, dumps of active file | |
435 | systems are taken on a daily basis, | |
436 | using a modified Tower of Hanoi algorithm, | |
437 | with this sequence of dump levels: | |
438 | .Bd -literal -offset indent | |
439 | 3 2 5 4 7 6 9 8 9 9 ... | |
440 | .Ed | |
441 | .Pp | |
442 | For the daily dumps, it should be possible to use a fixed number of tapes | |
443 | for each day, used on a weekly basis. | |
444 | Each week, a level 1 dump is taken, and | |
445 | the daily Hanoi sequence repeats beginning with 3. | |
446 | For weekly dumps, another fixed set of tapes per dumped file system is | |
447 | used, also on a cyclical basis. | |
448 | .El | |
449 | .Pp | |
450 | After several months or so, the daily and weekly tapes should get | |
451 | rotated out of the dump cycle and fresh tapes brought in. | |
452 | .Sh ENVIRONMENT | |
453 | .Bl -tag -width Fl | |
454 | .It Ev TAPE | |
455 | If no -f option was specified, | |
456 | .Nm | |
457 | will use the device specified via | |
458 | .Ev TAPE | |
459 | as the dump device. | |
460 | .Ev TAPE | |
461 | may be of the form | |
462 | .Qq tapename , | |
463 | .Qq host:tapename , | |
464 | or | |
465 | .Qq user@host:tapename . | |
466 | .It Ev RMT | |
467 | The environment variable | |
468 | .Ev RMT | |
469 | will be used to determine the pathname of the remote | |
470 | .Xr rmt 8 | |
471 | program. | |
472 | .It Ev RSH | |
473 | .Nm Dump | |
474 | uses the contents of this variable to determine the name of the | |
475 | remote shell command to use when doing remote backups (rsh, ssh etc.). | |
476 | If this variable is not set, | |
477 | .Xr rcmd 3 | |
478 | will be used, but only root will be able to do remote backups. | |
479 | .Sh FILES | |
480 | .Bl -tag -width __DUMPDATES__ -compact | |
481 | .It Pa /dev/st0 | |
482 | default tape unit to dump to | |
483 | .It Pa __DUMPDATES__ | |
484 | dump date records | |
485 | .It Pa /etc/fstab | |
486 | dump table: file systems and frequency | |
487 | .It Pa /etc/group | |
488 | to find group | |
489 | .Em operator | |
490 | .El | |
491 | .Sh SEE ALSO | |
492 | .Xr fstab 5 , | |
493 | .Xr restore 8 , | |
494 | .Xr rmt 8 | |
495 | .Sh DIAGNOSTICS | |
496 | Many, and verbose. | |
497 | .Pp | |
498 | .Nm Dump | |
499 | exits with zero status on success. | |
500 | Startup errors are indicated with an exit code of 1; | |
501 | abnormal termination is indicated with an exit code of 3. | |
502 | .Sh BUGS | |
503 | It might be considered a bug that this version of dump can only handle ext2 | |
504 | filesystems. Specifically, it does not work with FAT filesystems. | |
505 | .Pp | |
506 | Fewer than 32 read errors on the filesystem are ignored. If noticing | |
507 | read errors is important, the output from dump can be parsed to look for lines | |
508 | that contain the text 'read error'. | |
509 | .Pp | |
510 | Each reel requires a new process, so parent processes for | |
511 | reels already written just hang around until the entire tape | |
512 | is written. | |
513 | .Pp | |
514 | The estimated number of tapes is not correct if compression is on. | |
515 | .Pp | |
516 | It would be nice if | |
517 | .Nm | |
518 | knew about the dump sequence, | |
519 | kept track of the tapes scribbled on, | |
520 | told the operator which tape to mount when, | |
521 | and provided more assistance | |
522 | for the operator running | |
523 | .Xr restore . | |
524 | .Pp | |
525 | .Nm Dump | |
526 | cannot do remote backups without being run as root, due to its | |
527 | security history. | |
528 | Presently, it works if you set it setuid (like it used to be), but this | |
529 | might constitute a security risk. Note that you can set RSH to use | |
530 | a remote shell program instead. | |
531 | .Sh AUTHOR | |
532 | The | |
533 | .Nm dump/restore | |
534 | backup suite was ported to Linux's Second Extended File System | |
535 | by Remy Card <card@Linux.EU.Org>. He maintained the initial versions | |
536 | of dump (up and including 0.4b4, released in january 1997). | |
537 | .Pp | |
538 | Starting with 0.4b5, the new maintainer is Stelian Pop | |
539 | .br | |
540 | <pop@noos.fr>. | |
541 | .Sh AVAILABILITY | |
542 | The | |
543 | .Nm dump/restore | |
544 | backup suite is available from | |
545 | .br | |
546 | http://dump.sourceforge.net | |
547 | .Sh HISTORY | |
548 | A | |
549 | .Nm | |
550 | command appeared in | |
551 | .At v6 . |