#!/bin/bash
DRIVE_SERIAL="<serialnumber-of-the-usb-drive"
DETECTION=`cat /proc/bus/usb/devices | grep SerialNumber=$DRIVE_SERIAL`
LOGFILE=/var/scripts/backup.log
RSYNC_TIMESTAMP=`date "+%d%m%y"`
RSYNC_LOGFILE="/var/scripts/rsync_$RSYNC_TIMESTAMP.log"
BUSYFILE=/var/scripts/backup.busy
if [ "$DETECTION" == "" ]; then
echo "`date "+%b %d %H:%m:%S"` - USB-drive not attached. Exit." >> $LOGFILE
else
echo "`date "+%b %d %H:%m:%S"` - USB-drive found !" >> $LOGFILE
echo "`date "+%b %d %H:%m:%S"` - Checking for running jobs ..." >> $LOGFILE
if [ -f "$BUSYFILE" ]; then
echo "`date "+%b %d %H:%m:%S"` - Busy-file found !" >> $LOGFILE
echo "`date "+%b %d %H:%m:%S"` - Another backup already in progress. Exit." >> $LOGFILE
exit
else
echo "`date "+%b %d %H:%m:%S"` - Busy-file not found. Good. Proceeding to backup." >> $LOGFILE
echo "1" >> $BUSYFILE
echo "`date "+%b %d %H:%m:%S"` - Mounting USB-drive ..." >> $LOGFILE
mount -t ntfs-3g /dev/sdc1 /mnt/backup
echo "`date "+%b %d %H:%m:%S"` - RSYNC Started." >> $LOGFILE
rsync -vrlptg --log-file=$RSYNC_LOGFILE /xen/ /mnt/backup/Backup/xen
rsync -vrlptg --log-file=$RSYNC_LOGFILE /raid3/ /mnt/backup/Backup/data
echo "`date "+%b %d %H:%m:%S"` - RSYNC Finished." >> $LOGFILE
echo "`date "+%b %d %H:%m:%S"` - Unmounting drives ..." >> $LOGFILE
umount /dev/sdc1
echo "`date "+%b %d %H:%m:%S"` - Releasing BACKUP_BUSY variable ..." >> $LOGFILE
rm $BUSYFILE
fi
fi