--- sludge_scripts/backup.sh 2011/06/07 12:34:47 1.1 +++ sludge_scripts/backup.sh 2011/06/17 16:17:17 1.4 @@ -1,30 +1,36 @@ #!/bin/bash +VERSION="$Id: backup.sh,v 1.4 2011/06/17 16:17:17 nick Exp $" REMOTE="nick@demandred.dyndns.org" OPTIONS="-avxz -e ssh --delete" LOGDIR=/home/backup/logs DATE=`date +%Y%m%d` -DIRS=( /home/nick/database-backup.dump.gz /home/nick/database-backup.dump.yesterday.gz /home/nick/DroidBackups /home/winshare/Pictures /home/cvs /home/nick/bbs /home/nick/notes /home/httpd /home/nick/Documents /home/nick/mail /home/nick/mail-backup /home/winshare/Documents ) +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 cd /home/backup/backups -mkdir -p demandred -cd demandred -for DIR in "${DIRS[@]}"; do - /usr/bin/rsync $OPTIONS $REMOTE:$DIR . >> $LOGDIR/backup-$DATE.log 2>&1 -done -cd - -mkdir -p lanfear -cd lanfear -for DIR in "${LANFEAR_DIRS[@]}"; do - /usr/bin/rsync $OPTIONS $REMOTE:$DIR . >> $LOGDIR/backup-$DATE.log 2>&1 +SAVEIFS=$IFS +for bdir in demandred winshare lanfear; +do + IFS=$(echo -en "\n\b") + [ "$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 -cd - +IFS=$SAVEIFS ## ## Compress logs after 5 days and delete logs after 6 months