Use of dump: verification technique, error recovery?

James D. Allen jamesa at arabian.Sun.COM
Tue Feb 21 06:09:58 AEST 1989


In article <5776 at bsu-cs.UUCP>, sam at bsu-cs.UUCP (B. Sam Blanchard) writes:
> I am doing backups on a VAX 11/785 running 4.3bsd UNIX using the
> program backup.

I know about 4.2bsd `dump'.  Maybe it's the same.

> 
> The order of operations is:
> 	issue the dump command
> 	for each tape written
> 		allow dump to write to tape
> 		suspend dump (when it asks if next tape is mounted)
> 		verify tape appropriately
> 	done
> 
> Question:
> 	Can I induce a condition that will cause dump to restart a tape
> 	instead of aborting the whole dump?

Yes.  In Sam's scenario, `dump' has just printed
	"Mount tape #N"
	"Is the new tape ready? [yes or no]: "
but Sam wants to mount tape #(N-1) and rewrite it.

Do the following:
	1) Acquire a shell prompt.  (For example, press control-Z).
	2) Identify all dump processes with something like:
		% ps agxl | grep dump
	3) There will be N processes.  Identify the youngest process
	   using the PPID field of the `ps l' printout.  Suppose
	   the youngest process's PID is 8818.
	4) Convince `dump' there was an error on tape #(N-1):
		% kill -6 8818
	5) Do a `fg' if necessary to resume `dump'.

> 	Alternatively,
> 	can I trick dump into writing 'some' tapes to /bin/null and others
> 	to /dev/rmt8 (thus allowing selective tapes to be written).  I think
> 	single user mode should insure that all data would match but am not
	                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No guarantees unless the filesystem has been mounted at worst
READONLY throughout the entire scenario.

> 	sure if this is possible or if dump will complain about mix & match
> 	tapes.

Since `dump' does an open() for each volume, you can trick it with
symbolic links:
	% ln -s /dev/null tricky_foo
	% dump 0f[et cetera] tricky_foo [et cetera]

When `dump' tells you to Mount the volume(s) you DO want to write, acquire
a shell prompt and type:
	% rm tricky_foo ; ln -s /dev/rmt8 tricky_foo
Change it back-and-forth between `/dev/null' and `/dev/rmt8' as you
wish.

> -- 
> B. Sam Blanchard         UUCP:  <backbones>!{iuvax,pur-ee}!bsu-cs!sam

James Allen



More information about the Comp.unix.questions mailing list