shell自动更新线上svn代码

前提,可将线上的目录全部删除 ,从svn上先拉下来一份代码。 再进行shell自动更新代码

 svn co  svn://svn.xxxxxx.com/repos/web/  ./ --username xxxxx  --password xxxxx

1、写定时每3秒钟去执行,svn up的代码

2、svn up的shell代码, 思路,拿到当前代码内版本号和svn info上的版本号,进行对比,小于svn info上的版本则。 svn up

crontab_up.sh

#!/bin/bash
#For excuting the scripts every 3 seconds in crond.
#20100124.WXG
for((i=1;i<=20;i++));do
 /root/code_db/svn_up_web/update_controller.sh 2>/dev/null &
 /root/code_db/svn_up_web/update_public.sh 2>/dev/null &
 /root/code_db/svn_up_web/update_view.sh 2>/dev/null &
 sleep 3
done

各种文件夹内更新

update_controller.sh 

#!/bin/bash  
revision=`svn info /usr/local/nginx/html/web/Application/Home/Controller |grep "Last Changed Rev:" |awk '{print $4}'`  
echo "the revision is $revision"  
#URL=`svn info /usr/local/nginx/html/web/Application/Home/Controller |grep URL: |awk '{print $2}'`  
URL="svn://svn.xxxxxx.com/repos/web/Application/Home/Controller"
echo "the url is $URL"  
#echo '-------'
svnRevision=`svn info $URL |grep "Last Changed Rev:" |awk '{print $4}'` 
echo "the revision in svn is $svnRevision"
echo $revision
echo $svnRevision
if (( $revision < $svnRevision )) ; then 
    echo "need svn up"  
    svn up  /usr/local/nginx/html/web/Application/Home/Controller
    echo "svn up finish"  
else  
    echo "no need svn up"  
fi

猜你喜欢

转载自blog.csdn.net/A9925/article/details/85940971