zoukankan      html  css  js  c++  java
  • 自己主动下载源代码_并编译_打包_部署_重新启动服务的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 &]即可了

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

    #!/bin/sh
    APP_LOGS=/app/tomcat-6.0.43/logs
    SHELL_NAME=bin/deploy-engine.sh
    
    shellPID=0
    getShellPID(){
        pidInfo=`ps aux|grep $SHELL_NAME|grep -v grep`
        if [ -n "$pidInfo" ]; then
            shellPID=`echo $pidInfo | awk '{print $2}'`
        else
            shellPID=0
        fi
    }
    
    shutdown(){
        getShellPID
        echo "[玄玉] ========================================================================================================"
        if [ $shellPID -ne 0 ]; then
            echo -n "[玄玉] Stopping $SHELL_NAME(PID=$shellPID)..."
            kill -9 $shellPID
            if [ $? -eq 0 ]; then
                echo "[Success]"
                echo "[玄玉] ========================================================================================================"
            else
                echo "[Failed]"
                echo "[玄玉] ========================================================================================================"
            fi
            getShellPID
            if [ $shellPID -ne 0 ]; then
                shutdown
            fi
        else
            echo "[玄玉] $SHELL_NAME is not running"
            echo "[玄玉] ========================================================================================================"
        fi
    }
    
    #[2>&1]表示把标准错误(stderr)重定向到标准输出(stdout),否则会提示[nohup: redirecting stderr to stdout]
    startupByNohup(){
        cd $APP_LOGS
        rm -rf nohup.log
        nohup ../$SHELL_NAME > nohup.log 2>&1 &
        sleep 1
        tail -100f nohup.log
    }
    
    shutdown
    startupByNohup
  • 相关阅读:
    www.insidesql.org
    kevinekline----------------- SQLSERVER MVP
    Sys.dm_os_wait_stats Sys.dm_performance_counters
    如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况
    VITAM POST MORTEM – ANALYZING DEADLOCKED SCHEDULERS MINI DUMP FROM SQL SERVER
    Cargo, Rust’s Package Manager
    建筑识图入门(初学者 入门)
    Tracing SQL Queries in Real Time for MySQL Databases using WinDbg and Basic Assembler Knowledge
    Microsoft SQL Server R Services
    The Rambling DBA: Jonathan Kehayias
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5215679.html
Copyright © 2011-2022 走看看