Subversion的备份脚本. 在这里备份一下.
在地备份完成之后,再通过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`\nAddress: ${IP}\nDate: ${DATE}\n" >> ${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