#!/bin/bash
# Description:
# This program is subversion data backup script
# History:
# 2010/09/19 FangYun 0.1
#—————————————————————
LogFile=/data/backup_svn/svnbackup.log
DATE=`date +%Y%m%d`
BakDir=/data/backup_svn
ReposLst=/data/backup_svn/conf/repos.lst
SvnDir=/data/svn_dir
SVNADMIN=/usr/local/bin/svnadmin
MAILADDR=fangyun@channelsoft.com
echo "svn backup start at $(date +"%Y-%m-%d %H:%M:%S")." >> $LogFile
echo "————————————————" >> $LogFile
if [ ! -d $BakDir/$DATE ]
then
mkdir $BakDir/$DATE
fi
cd $BakDir
REPOS_LIST=`cat $ReposLst`
for repos in $REPOS_LIST
do
reposData=$SvnDir/$repos
destDir=$BakDir/$DATE/$repos
if [ -d $destDir ]
then
echo "Backup directory have exist!" >>$LogFile
else
$SVNADMIN hotcopy $reposData $destDir
echo "Backup $repos done.">>$LogFile
fi
done
oldDir="$BakDir/"$(date +%Y%m%d –date=’3 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
echo "————————————————" >> $LogFile
echo "svn backup end at $(date +"%Y-%m-%d %H:%M:%S")." >> $LogFile
echo " " >> $LogFile
#mail $MAILADDR -s svn-back_log < $LogFile