|
|
| version 1.4, 2011/06/17 16:17:17 | version 1.6, 2011/06/22 20:12:58 |
|---|---|
| Line 1 | Line 1 |
| #!/bin/bash | #!/bin/bash |
| VERSION="$Id$" | declare LOGDIR="/home/backup/logs" |
| REMOTE="nick@demandred.dyndns.org" | declare SCRIPT="/home/backup/scripts/backup.pl" |
| OPTIONS="-avxz -e ssh --delete" | declare DATE=`date +%Y%m%d` |
| LOGDIR=/home/backup/logs | |
| DATE=`date +%Y%m%d` | |
| DEMANDRED_DIRS=( /home/nick/database-backup.dump.gz /home/nick/database-backup.dump.yesterday.gz /home/nick/DroidBackups /home/cvs /home/nick/bbs /home/nick/notes /home/httpd /home/nick/Documents /home/nick/mail /home/nick/mail-backup ) | |
| WINSHARE_DIRS=( /home/winshare/Documents /home/winshare/Pictures /home/winshare/Receipts "/home/winshare/Shared Docs" /home/winshare/Backgrounds ) | |
| LANFEAR_DIRS=(/home/backup/systems/lanfear/home/nick/Documents /home/backup/systems/lanfear/home/nick/Receipts "/home/backup/systems/lanfear/home/nick/Nick\'s Pictures" /home/backup/systems/lanfear/home/nick/projects /home/backup/systems/lanfear/home/nick/notes) | |
| [ -d $LOGDIR ] || mkdir -p $LOGDIR | [ -d $LOGDIR ] || mkdir -p $LOGDIR |
| cd /home/backup/backups | [ -x $SCRIPT ] || \ |
| { | |
| echo "ERROR: Missing $SCRIPT" | |
| exit 1 | |
| } | |
| SAVEIFS=$IFS | ## |
| for bdir in demandred winshare lanfear; | ## Call our perl script to handle the dirty work |
| do | ## |
| IFS=$(echo -en "\n\b") | $SCRIPT $LOGDIR >> $LOGDIR/backup-$DATE.log 2>&1 |
| [ "$bdir" == "demandred" ] && DIRS=(${DEMANDRED_DIRS[@]}) | |
| [ "$bdir" == "winshare" ] && DIRS=(${WINSHARE_DIRS[@]}) | |
| [ "$bdir" == "lanfear" ] && DIRS=(${LANFEAR_DIRS[@]}) | |
| mkdir -p $bdir | |
| cd $bdir | |
| for DIR in "${DIRS[@]}"; do | |
| /usr/bin/rsync $OPTIONS $REMOTE:$DIR . >> $LOGDIR/backup-$DATE.log 2>&1 | |
| done | |
| cd - > /dev/null 2>&1 | |
| done | |
| IFS=$SAVEIFS | |
| ## | ## |
| ## Compress logs after 5 days and delete logs after 6 months | ## Compress logs after 5 days and delete logs after 6 months |