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 |