svn备份脚本[原创]

十二 6th, 2011

Subversion的备份脚本. 在这里备份一下.

在地备份完成之后,再通过ftp传送一份至远程备份机.

  1. #!/bin/sh
  2. # subversion backup for freebsd8.
  3. # Created by ritto.zhao.
  4. # 2009-04-23
  5. SVNDIR=/data/svn
  6. SVNADMIN=/usr/local/bin/svnadmin
  7. DATE=`date +%Y-%m-%d`
  8. OLDDATE=`date -v -30d +%Y-%m-%d`
  9. IP=`ifconfig | grep ”inet” | grep -v ”inet6″ | grep -v ”127.0.0.1″ | awk ’{ print $2 }’`
  10. BACKDIR=/data/backup/svn-backup
  11. [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
  12. LogFile=${BACKDIR}/svnbak.log
  13. [ -f ${LogFile} ] || touch ${LogFile}
  14. if [ ! -d ${BACKDIR}/${DATE} ]; then
  15.    mkdir ${BACKDIR}/${DATE}
  16. fi
  17. if [ -d ${BACKDIR}/${OLDDATE} ]; then
  18.    rm -rf ${BACKDIR}/${OLDDATE}
  19. fi
  20. echo ” ” >> ${LogFile}
  21. echo `date +”%Y-%m-%d %H:%M:%S”` >> ${LogFile}
  22. echo ”***Subversion Backup Notification***” >> ${LogFile}
  23. /usr/bin/printf ”Host:    `hostname`\nAddress: ${IP}\nDate:    ${DATE}\n” >> ${LogFile}
  24. for PROJECT in rest report android eblast
  25. do
  26.   cd ${SVNDIR}
  27.   ${SVNADMIN} hotcopy ${PROJECT} ${BACKDIR}/${DATE}/${PROJECT} –clean-logs
  28.   cd ${BACKDIR}/${DATE}
  29.   tar zcvf ${PROJECT}_svn_${DATE}.tar.gz ${PROJECT} > /dev/null
  30.   rm -rf ${PROJECT}
  31.   echo ”Repository: ${PROJECT} backup done into ${BACKDIR}/${DATE}/ Successful!” >> ${LogFile}
  32.   /bin/sleep 2

http://ritto.blog.51cto.com/427838/729917

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
标签: ,
目前还没有任何评论.