emulate an end-of-media
Martin Laabs
martin.laabs at mailbox.tu-dresden.de
Mon Feb 25 12:36:25 UTC 2008
Hi,
I'll write a script that back up my data on dvd-r and dvd-rams.
(And some incremental backups also at some internet storage
services.)
Therefore I'd like to use dump. It is not too hard to create
dump-volumes with fixed size through the -B option. But now
I'd like to use some sort of compression. (bzip2 seems far to be
to slow. Maybe I'll use gzip or compress)
However - with compression I can't use the -B switch of dump
because I can't be sure about the compression ratio. This means
I have to use the '-a' switch. With that switch enabled, dump
starts a new volume after it detects an EOM signal.
Because dump itself does not support compression I have to
build a pipe like that:
dump -aL0 -f - /MYFILESYSTEM|compress -c|aespipe ...|cdrecord dev=... -
This obvisouly does not work. I tried to wrote a script that
close the pipe after the amount of compressed data reached
4.6GB. But if I close the pipe in that script dump aborts
(because of the broken pipe) at all instead of just starting
a new volume.
What I'd need is a magaic pipe device that converts a ordenary
close at the one side to an EOM at the other.
Then I could do something like this:
dump -aL0 -f /dev/MyMagicDevice &
dd if=/dev/MyMagicDevice bs=1M count=4600|./compress -c|cdrecord dev=... -
Before I try to write a kernel module that will do the
job (I never wrote a freebsd kernel module before but
I think it is some fun to learn that.) I want to ask if
anyone see another solution for that problem. (Maybe
patching dump - but I don't want to fudge in the CORE
source.)
Thank you in advance,
Martin L.
PS: Splitting up the huge (maybe compressed) dump file (also in
stream operation) is not a good idea beacause I'd need to insert
all the media - even if I resore only a single file.
More information about the freebsd-hackers
mailing list