#!/bin/sh LS="/bin/ls" AWK="/usr/bin/awk" TAIL="/usr/bin/tail" HEAD="/usr/bin/head" DIFF="/usr/bin/diff" RM="/bin/rm" SVNADMIN="/usr/bin/svnadmin" BZIP2="/usr/bin/bzip2" if [ ! $1 ] then echo Please enter the base directory exit fi if [ ! $2 ] then echo Please supply the destination directory to backup to! exit fi LEN=`echo $1 | awk '{ len=length($0); print(len) }'` echo Starting Backup ... ON `/bin/date` for REPO in $(ls $1 -R | grep /dav | grep -v _backups_ | awk '{ print substr($0,0,(length($0)-4));}') do CURRENT_REPO_VER=`/usr/bin/svnlook youngest $REPO` DEST_BACKUP_DIR=`echo $2$REPO` mkdir -p $DEST_BACKUP_DIR DEST_BACKUP_FILE_HEAD=$DEST_BACKUP_DIR`echo $REPO $LEN | awk '{ len=split(substr($1,$2+1,80),a,"/"); for(i=2;i "$PREVIOUS_REPO_VER") )) then echo Starting $REPO at `/bin/date` echo Backing up $REPO to $CURRENT echo dumping $REPO $SVNADMIN dump $REPO > $CURRENT echo Compressing $CURRENT $BZIP2 -vv -f -9 $CURRENT echo compression finished!!! fi echo $CURRENT_REPO_VER > ${DEST_BACKUP_DIR}/ver.txt echo Finished Backing up $REPO at `/bin/date` done echo Backup Completed at `/bin/date`