My personal backup script:
#!/bin/sh usage () { echo "$0: [--level #]" echo "" echo "backup script using dump(8) to create a level n backup" } TEMP=`getopt -o l:v: --long level:,volume -n'$0' -- "$@"` if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi eval set -- "$TEMP" LEVEL="0" VOLUME="" SUDO="" while true; do case "$1" in -l|--level) LEVEL="$2"; shift 2;; -v|--volume) VOLUME="$2"; shift 2;; --) shift ; break ;; *) usage ; exit 1 ;; esac done if [ -z "$VOLUME" ] || [ ! -b $VOLUME ]; then echo "you must enter a logical volume to backup" exit 1; fi BACKUPDIR=`dirname $0` VOLUMENAME=`basename $VOLUME` ARCHIVEFILE="${BACKUPDIR}/${VOLUMENAME}.level-${LEVEL}.archive" echo "$0 starting, backing up $VOLUMENAME to $BACKUPDIR" dump -${LEVEL} -A ${ARCHIVEFILE} -B $((1024 * 2000)) -j \ -u -D ${BACKUPDIR}/dumpdates \ -M -f ${BACKUPDIR}/${VOLUMENAME}.level-${LEVEL}.dump \ ${VOLUME}