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