#!/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"