#!/bin/bash # This script dumps the specified Filesystem via dump on a CD/DVD # CD_CAPACITY defines the capacity in MB per CD # The script for the next volume is passed via the -F option of dump # At least for my DVD-Recorder (a PHILIPS DVR-A03) it is necessary # to define the tracksize for the next track before the DVD is written. # This is done via the -tsize option of cdrecord. Since tsize takes its # arguments in Bytes, the shell cannot compute the value correctly # anymore (value too high), so I use bc. # !!! If you plan to write DVD's with other sizes, please correct the # CD_CAPACITY in the dump_userexit_DVD script, too !!! COMPRESSION_LEVEL=2 RECORD_BIN="/usr/bin/dvdrecord dev=0,0,0 fs=64M speed=2 " EXITSCRIPT="/root/bin/dvd_dump_userexit" FILESYSTEM="/home" LEVEL=0 LABEL="`date -I`" CD_CAPACITY=4300 TSIZE="$(echo "$CD_CAPACITY*1024*1024" | bc -l )" BSIZE="$(echo "$CD_CAPACITY*1024" | bc -l )" FIFO="/tmp/dump.fifo" DUMP_BIN="/usr/sbin/dump -z$COMPRESSION_LEVEL -b64 -B$BSIZE -F $EXITSCRIPT -$LEVEL -L $LABEL -f $FIFO $FILESYSTEM" rm -f $FIFO mkfifo $FIFO ANSWER="" while [ "$ANSWER" != "y" ] ; do read -p "Did you insert DVD No. 1? (y/n)" ANSWER if [ "$ANSWER" == "y" ] ; then $RECORD_BIN -blank=fast $RECORD_BIN -eject -dao -pad -tsize=$TSIZE -data $FIFO & $DUMP_BIN rm -f $FIFO exit 0 elif [ "$ANSWER" == "n" ] ; then EXIT="" read -p "Do you really want to exit? (y/n)" EXIT if [ "$EXIT" == "y" ] ; then exit 1 fi fi done