Svn代码服务,全部备份脚本

这个脚本写的匆忙,当时只是为了应付过这个匆忙起,因为实在没太多时间去好好处理这个全备脚本。所以写的很粗糙
环境要求:
系统:linux centos 5.6
代码管理服务:subversion
是否整合:是 与apache服务整合

#!/bin/bash 
TIME=`date +%Y%m%d` 
#svn库的主目录,因为我这里采用的是多库,其实差不多 
VANCL=/opt/svnroot/ 
#svn备份存储的目录,请自己创建 
SVN_DATA=/back/svndata/ 
#这里如果直接用server 来处理httpd服务的话,有的时候会失灵,所以用init.d下处理 
/etc/init.d/httpd stop |grep -i OK  
#看返回结果 
I=$? 
sleep 5 
if [ "${I}" -eq "0" ];then 
    echo "httpd is stopping" > ${SVN_DATA}/log 
else 
     /usr/bin/pgrep httpd|xargs kill -9 
    echo "httpd is kill for stopping" > ${SVN_DATA}/log 
fi 
#备份第一个库,标准错误输出到一个文件(这里我也不清楚为什么是标准错误输出时才是build reversion) 
#由于库比较大,所以一定要用"&&"里处理每个命令 
svnadmin  dump ${VANCL}/Vancl > ${SVN_DATA}/Vancl_$TIME.dump  2> ${SVN_DATA}/svn.vancl.build.version && sleep  20 && svnadmin  dump ${VANCL}/Vjia > ${SVN_DATA}/Vjia_$TIME.dump 2> ${SVN_DATA}/svn.Vjia.build.version && sleep 20 && sleep 30 && /etc/init.d/httpd start |grep -i OK   && I=$? ;

echo "`ls -l ${SVN_DATA}/Vancl_$TIME.dump`" >>  ${SVN_DATA}/log 
echo "`ls -l ${SVN_DATA}/Vjia_$TIME.dump`" >>  ${SVN_DATA}/log 
sleep 10 
if [ "${I}" -eq "0" ];then 
       echo "httpd is running" >> ${SVN_DATA}/log 
else 
        echo "httpd is failed" >> ${SVN_DATA}/log 
    /etc/init.d/httpd restart |grep -i OK && I=$? 
    echo "$I" > ${SVN_DATA}/log 
fi 
echo "`cat ${SVN_DATA}/log`" |mutt -s "${TIME}" admin@kinggoo.com
- THE END -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/svn-allbackup.htm
发表评论?

0 条评论。

发表评论