Como você diz, há muitos softwares padrões para fazer isso. Eu estou usando um script de shell auto construído para o efeito por enquanto. No futuro, vou migrar para Perl para sinalizar sucesso e falhas em um painel. Já implementei um conceito semelhante para backups MySQL de seis servidores, eles atualizam o status no Amazon SimpleDB e eu tenho um painel para verificar o status.
Aqui está o meu script:
#!/bin/sh
HOSTNAME=MYHOSTNAME # name of this computer
DIRECTORIES="/var/www /etc/ /var/backup/database" # directories to backup
BACKUPDIR=/mnt/backup # where to store the backups
TIMEDIR=/mnt/backup/last-full # where to store time of full backup
TAR=/bin/tar # name and location of tar
PATH=/usr/local/bin:/usr/bin:/bin
DOW='date +%a' # Day of the week e.g. Mon
DOM='date +%d' # Date of the Month e.g. 27
DM='date +%d%b%Y' # Date and Month e.g. 27Sep2010
# On the 6 of the month a permanent full backup is made
# Every Sunday a full backup is made - overwriting last Sundays backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last week incremental backup of the same name.
#
# if NEWER = "", then tar backs up all files in the directories
# otherwise it backs up files newer than the NEWER date. NEWER
# gets its date from the file written every Sunday.
# Monthly full backup
if [ $DOM = "06" ]; then
NEWER=""
$TAR $NEWER -cf $BACKUPDIR/$HOSTNAME-$DM.tar $DIRECTORIES
fi
# Weekly full backup
if [ $DOW = "Sun" ]; then
NEWER=""
NOW='date +%d-%b'
# Update full backup date
echo $NOW > $TIMEDIR/$HOSTNAME-full-date
$TAR $NEWER -cf $BACKUPDIR/$HOSTNAME-$DOW.tar $DIRECTORIES
# Make incremental backup - overwrite last weeks
else
# Get date of last full backup
NEWER="--newer 'cat $TIMEDIR/$HOSTNAME-full-date'"
$TAR $NEWER -cf $BACKUPDIR/$HOSTNAME-$DOW.tar $DIRECTORIES
fi