#!/bin/sh
# Version 0.91
# Released into the public domain by Daniel M. Webb
THIS=backup-offline
MYHOST=fuzzy
[ -z "$USER" ] && USER=$(whoami)
DATE_STRING=$(date +%F.%H-%M)
LOGFILE=/tmp/backup-offline.$USER.$MYHOST.$DATE_STRING.log

function die() {
    echo "$THIS: $*"
    exit 1
}

SCRIPT_DIR=/root/scripts/backup
[ -d $SCRIPT_DIR ] || die "Directory $SCRIPT_DIR not found"
BACKUP_TO=/stor/backups
BASEDIR=/home/webb/backups

# Stuff to backup:
#
# * Mail rdiff-backup mirror
# * ha-dirs rdiff-backup mirror
# * database rdiff-backup mirror
# * Home directory rdiff-backup mirrors
#
# Since all these things reside on the remote backup server, this script should
# be run there.

echo "---------------------------------------------------------------------" >>$LOGFILE
echo "Starting $THIS run with options: $*" >>$LOGFILE
date >>$LOGFILE
echo "---------------------------------------------------------------------" >>$LOGFILE

# exit if this isn't running on the correct host
[ "$HOSTNAME" = $MYHOST ] || die "\$HOSTNAME not set or this is not $MYHOST"

# make sure home is mounted.  I do this by putting an empty file called
# .is_mounted at the root of all my filesystems.
[ -f $BASEDIR/.is_mounted ] || die "$BASEDIR is not mounted ($BASEDIR/.is_mounted not found)"

# Backup $BASEDIR to a compressed afio file(s)
$SCRIPT_DIR/backup-afio create -b -s 650m \
    -l $SCRIPT_DIR/backup-offline.filelist \
    $BASEDIR $BACKUP_TO/backup.offline.bz2.afio >> $LOGFILE

echo "Finished at $(date)" >>$LOGFILE
echo "Monthly backup is in $MYHOST:$BACKUP_TO ready to be burned"

