Existen varias maneras de generar un Full Backup, y en este caso nos abocaremos de generar un Full Backup incremental en FreeBSD, aqui anexo un shell script para generar, esto lo manda a una cinta (Tape).
#!/bin/sh
# Shell Script para hacer copias de seguridad completas e incrementales en cintas.
# Probado en FreeBSD 6. X y 7. X – 32 bits y 64 bits.
# Puede funcionar en OpenBSD / NetBSD.
#
#
# Settings
LOGGER=/usr/bin/logger
DUMP=/sbin/dump
# FSL=”/dev/aacd0s1a /dev/aacd0s1g”
FSL=”/usr /var”
NOW=$(date +”%a”)
LOGFILE=”/var/log/dumps/$NOW.dump.log”
TAPE=”/dev/sa0″
mk_auto_dump(){
local fs=$1
local level=$2
local tape=”$TAPE”
local opts=””
opts=”-${level}uanL -f ${tape}”
# run backup
$DUMP ${opts} $fs
if [ “$?” != “0” ];then
$LOGGER “$DUMP $fs FAILED!”
echo “*** DUMP COMMAND FAILED – $DUMP ${opts} $fs. ***”
else
$LOGGER “$DUMP $fs DONE!”
fi
}
dump_all_fs(){
local level=$1
for f in $FSL
do
mk_auto_dump $f $level
done
}
init_backup(){
local d=$(dirname $LOGFILE)
[ ! -d ${d} ] && mkdir -p ${d}
}
init_backup
case $NOW in
Mon) dump_all_fs 0;;
Tue) dump_all_fs 1;;
Wed) dump_all_fs 2;;
Thu) dump_all_fs 3;;
Fri) dump_all_fs 4;;
Sat) dump_all_fs 5;;
Sun) dump_all_fs 6;;
*) ;;
esac > $LOGFILE 2>&1