自己主动下载源代码_并编译_打包_部署_重新启动服务的Shell脚本

这里面Shell的各个操作含义,可參考我三年前的这篇文章:http://blog.csdn.net/jadyer/article/details/7960802

#!/bin/sh
APP_NAME=engine
APP_WARS=JadyerEngine-web/target
APP_PATH=/app/tomcat-6.0.43
APP_CODE=sourcecode
SVN_URL=https://svn.sinaapp.com/jadyer/2/repository/JadyerEngine
SVN_USER=jadyer@yeah.net
SVN_PSWD=玄玉

appPID=0
getAppPID(){
    pidInfo=`ps aux|grep java|grep $APP_PATH|grep -v grep`
    if [ -n "$pidInfo" ]; then
        appPID=`echo $pidInfo | awk '{print $2}'`
    else
        appPID=0
    fi
}

downloadAndCompileSourceCode(){
    cd $APP_PATH
    mkdir $APP_CODE
    svn --username $SVN_USER --password $SVN_PSWD checkout $SVN_URL $APP_CODE
    cd $APP_CODE
    mvn clean package -DskipTests
}

shutdown(){
    getAppPID
    echo "[玄玉] ========================================================================================================"
    if [ $appPID -ne 0 ]; then
        echo -n "[玄玉] Stopping $APP_PATH(PID=$appPID)..."
        kill -9 $appPID
        if [ $?

-eq 0 ]; then echo "[Success]" echo "[玄玉] ========================================================================================================" else echo "[Failed]" echo "[玄玉] ========================================================================================================" fi getAppPID if [ $appPID -ne 0 ]; then shutdown fi else echo "[玄玉] $APP_PATH is not running" echo "[玄玉] ========================================================================================================" fi } deploy(){ cd $APP_PATH/webapps/ rm -rf $APP_NAME rm -rf $APP_NAME.war cp $APP_PATH/$APP_CODE/$APP_WARS/*.war $APP_NAME.war cd $APP_PATH/logs/ rm -rf * cd $APP_PATH rm -rf $APP_CODE } startup(){ cd $APP_PATH/bin ./startup.sh tail -100f ../logs/catalina.out } downloadAndCompileSourceCode shutdown deploy startup

上面的脚本在运行的过程中。若Ctrl+C退出后,会导致应用部署失败,故编写了以下这个可在后台运行的脚本

不想用以下这个脚本也能够,仅仅是在运行上面的脚本时直接[nohup ./deploy-engine.sh &]即可了

即便如此。个人仍推荐仅仅用上面的脚本就够了(假设是你自己用的话)!


startupByNohup







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5215679.html,如需转载请自行联系原作者

上一篇:滴滴:前五个月华北20城共3.51亿人使用打车应用出行


下一篇:单用check_snmp_storage.pl监控服务器空间脚本