#!/bin/bash
# Description:
# This program is subversion data backup script
# History:
# 2010/09/19 FangYun 0.1
#—————————————————————
ReposList=`cat /data/backup_svn/conf/repos.lst`
SVNADMIN=/usr/local/bin/svnadmin
SvnDir=/data/svn_dir
BakDir=/home/backup_244
LogFile=$BakDir/svnbackup.log
DATE=`date +%Y%m%d`
#Create backup direcotry
createDir(){
if [ -d $BakDir/$DATE ]
then
echo "[$BakDir/$DATE] directory has existed!" >> $LogFile
else
mkdir $BakDir/$DATE
fi
}
#Backup SVN
backupSVN(){
cd $SvnDir
echo "Backup repositories start at $(date +"%Y-%m-%d %H:%M:%S")." >> $LogFile
for repos in $ReposList
do
desRepos=$BakDir/$DATE/$repos
$SVNADMIN hotcopy $repos $desRepos
echo "Repository $repos has backuped." >> $LogFile
done
echo "Backup repositories end at $(date +"%Y-%m-%d %H:%M:%S")." >> $LogFile
}
#Delete old directory
deleteOld(){
oldDir=$BakDir/$(date +%Y%m%d –date=’7 days ago’)
if [ -d $oldDir ]
then
rm -rf $oldDir >> $LogFile 2>&1
echo "[$oldDir],Delete Old Directory Success!" >> $LogFile
else
echo "[$oldDir],No Old Backup Directory!" >> $LogFile
fi
}
main(){
echo "==================================================" >> $LogFile
createDir
backupSVN
deleteOld
echo "##################################################" >> $LogFile
echo " " >> $LogFile
}
main