基于springboot的微服务shell脚本启动job工程

来源:互联网 发布:淘宝刷客兼职 编辑:程序博客网 时间:2024/06/10 11:38
#!/bin/sh
#AuthName:chl
#DateTime:2017-08-01
#description:自动部署,重启spring boot微服务集群

export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/bin

set -m
 . /etc/init.d/functions
RETVAL=$?
#######################################################################
SERVICE_NAME=lppz-scout
OMS_EAR_PATH=/data/tmp
OMS_EAR_FILE=${SERVICE_NAME}.jar
OMS_EAR_PATHFILE=$OMS_EAR_PATH/$OMS_EAR_FILE

OMS_CONFIG_DIR=/data/config
LOG_HOME=/data/logs

OMS_JAR_DIR=/data/runjar
OMS_JAR_DIRFILE=$OMS_JAR_DIR/$OMS_EAR_FILE
APPLICATION_FILE=/data/config/lppz-scout/application.properties
OMS_PORTS=(6666)

#########################################################################

    case "$1" in
    deploy)
    if [ ! -f "$OMS_EAR_PATHFILE" ]; then
echo "$OMS_EAR_PATHFILE not found"
exit 1
    fi
    if [ ! -d "$OMS_CONFIG_DIR" ]; then
        echo "$OMS_CONFIG_DIR not found"
        exit 1
    fi
    if [ ! -d "$OMS_JAR_DIR" ]; then
        echo "$OMS_JAR_DIR not found"
        exit 1
    fi
    cp -rf $OMS_EAR_PATHFILE $OMS_JAR_DIR
    /home/app/lppz-scout.sh restart
    ;;

    restart)
        /home/app/lppz-scout.sh stop
        cd $OMS_JAR_DIR
        for p in ${OMS_PORTS[*]}
        do
            echo "######################################"
            echo "## server.port:[$p] restart start...##"
            echo "######################################"
            RUN_CMD="\"$JAVA_HOME/bin/java\""
            RUN_CMD="$RUN_CMD -jar $OMS_JAR_DIRFILE"
            RUN_CMD="$RUN_CMD -server -Xms1G -Xmx3G -Xss1m -XX:PermSize=512m -XX:MaxPermSize=1G -XX:MaxNewSize=1G -XX:+UseParallelGC"
            RUN_CMD="$RUN_CMD -Dfile.encoding=UTF-8"
            RUN_CMD="$RUN_CMD --server.port=$p"
            RUN_CMD="$RUN_CMD --spring.config.location=$APPLICATION_FILE"
            RUN_CMD="$RUN_CMD --logging.path=$LOG_HOME"
            RUN_CMD="$RUN_CMD --logging.file=$SERVICE_NAME"
            RUN_CMD="$RUN_CMD --logging.config=classpath:logging-config.xml"
            RUN_CMD="$RUN_CMD > \"/dev/null\" 2>$LOG_HOME/${SERVICE_NAME}-system.log &"
            echo $RUN_CMD
            eval $RUN_CMD
            sleep 3
            echo "########################################"
            echo "### server port:[$p],restart finish ####"
            echo "########################################"
        done
    exit 1
    ;;

    stop)
        echo "######################"
        echo "####stop start...####"
        echo "######################"
        for p in ${OMS_PORTS[*]}
         do
            echo "server.port[$p] shutdown..."
            curl -X POST http://localhost:${p}/shutdown
         done
         ##ps aux|grep $OMS_EAR_FILE|awk '{print $2}'|xargs kill -9
         sleep 2
         echo -e ""
         echo "#####################"
         echo "### stop finish...###"
         echo "#####################"
    exit 1
    ;;

*)
    echo $Usage:$0 {deploy|restart|stop}
    exit 1
    esac
    exit $RETVAL