svnバックアップスクリプト
Subversionのバックアップ・スクリプトここでバックアップします.
バックアップが完了する後、ftpを介してリモートバックアップ機に転送する.
バックアップが完了する後、ftpを介してリモートバックアップ機に転送する.
- #!/bin/sh
- # subversion backup for freebsd8.
- # Created by ritto.zhao.
- # 2009-04-23
-
- SVNDIR=/data/svn
- SVNADMIN=/usr/local/bin/svnadmin
- DATE=`date +%Y-%m-%d`
- OLDDATE=`date -v -30d +%Y-%m-%d`
- IP=`ifconfig | grep "inet" | grep -v "inet6" | grep -v "127.0.0.1" | awk '{ print $2 }'`
-
- BACKDIR=/data/backup/svn-backup
- [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
- LogFile=${BACKDIR}/svnbak.log
- [ -f ${LogFile} ] || touch ${LogFile}
-
- if [ ! -d ${BACKDIR}/${DATE} ]; then
- mkdir ${BACKDIR}/${DATE}
- fi
-
- if [ -d ${BACKDIR}/${OLDDATE} ]; then
- rm -rf ${BACKDIR}/${OLDDATE}
- fi
-
- echo " " >> ${LogFile}
- echo `date +"%Y-%m-%d %H:%M:%S"` >> ${LogFile}
- echo "***Subversion Backup Notification***" >> ${LogFile}
- /usr/bin/printf "Host: `hostname`
Address: ${IP}
Date: ${DATE}
" >> ${LogFile}
-
-
- for PROJECT in rest report android eblast
- do
- cd ${SVNDIR}
- ${SVNADMIN} hotcopy ${PROJECT} ${BACKDIR}/${DATE}/${PROJECT} --clean-logs
-
- cd ${BACKDIR}/${DATE}
- tar zcvf ${PROJECT}_svn_${DATE}.tar.gz ${PROJECT} > /dev/null
- rm -rf ${PROJECT}
-
- echo "Repository: ${PROJECT} backup done into ${BACKDIR}/${DATE}/ Successful!" >> ${LogFile}
- /bin/sleep 2