• 分布式项目中 linux 服务器 部署jar 应用脚本 deploy.sh


    在实际项目的部署中,尤其是分布式项目,有很多服务的jar包需要 部署,这里抽取出公用的 deploy的脚本

    下面是不含jdk配置的

    #!/bin/bash
    JAVA_OPTIONS_INITIAL=-Xms128M
    JAVA_OPTIONS_MAX=-Xmx512M
    
    APP_NAME=aps-sdk-merchant-manager
    
    PID=$(ps aux | grep ${APP_NAME} | grep -v grep | awk '{print $2}' )
    ALARM_CONFIG_FILE=`pwd`/alarmConfig.yaml
    
    function check_if_process_is_running {
    if [ "$PID" = "" ]; then
    return 1
    fi
    ps -p $PID | grep "java"
    return $?
    }
    
    
    case "$1" in
    status)
    if check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME is running 33[0m"
    else
    echo -e "33[32m $APP_NAME not running 33[0m"
    fi
    ;;
    stop)
    if ! check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME already stopped 33[0m"
    exit 0
    fi
    kill -9 $PID
    echo -e "33[32m Waiting for process to stop 33[0m"
    NOT_KILLED=1
    for i in {1..20}; do
    if check_if_process_is_running
    then
    echo -ne "33[32m . 33[0m"
    sleep 1
    else
    NOT_KILLED=0
    fi
    done
    echo
    if [ $NOT_KILLED = 1 ]
    then
    echo -e "33[32m Cannot kill process 33[0m"
    exit 1
    fi
    echo -e "33[32m $APP_NAME already stopped 33[0m"
    ;;
    start)
    if [ "$PID" != "" ] && check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME already running 33[0m"
    exit 1
    fi
    nohup java -jar $JAVA_OPTIONS_INITIAL $JAVA_OPTIONS_MAX $APP_NAME.jar  & 
    echo -ne "33[32m Starting 33[0m" 
    for i in {1..20}; do
    echo -ne "33[32m.33[0m"
    sleep 1
    done
    if check_if_process_is_running 
    then
    echo -e "33[32m $APP_NAME fail 33[0m"
    else
    echo -e "33[32m $APP_NAME started 33[0m"
    fi
    ;;
    restart)
    $0 stop
    if [ $? = 1 ]
    then
    exit 1
    fi
    $0 start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    esac
    
    exit 0

    下面是含jdk配置的

    #! /bin/bash
    
    ## java env
    export JAVA_HOME=/usr/local/java/jdk1.7.0_79
    export JRE_HOME=$JAVA_HOME/jre
    
    JAVA_OPTIONS_INITIAL=-Xms128M
    JAVA_OPTIONS_MAX=-Xmx512M
    
    APP_NAME=aps-sdk-merchant-manager
    
    PID=$(ps aux | grep ${APP_NAME} | grep -v grep | awk '{print $2}' )
    
    function check_if_process_is_running {
    if [ "$PID" = "" ]; then
    return 1
    fi
    ps -p $PID | grep "java"
    return $?
    }
    
    
    case "$1" in
    status)
    if check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME is running 33[0m"
    else
    echo -e "33[32m $APP_NAME not running 33[0m"
    fi
    ;;
    stop)
    if ! check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME already stopped 33[0m"
    exit 0
    fi
    kill -9 $PID
    echo -e "33[32m Waiting for process to stop 33[0m"
    NOT_KILLED=1
    for i in {1..20}; do
    if check_if_process_is_running
    then
    echo -ne "33[32m . 33[0m"
    sleep 1
    else
    NOT_KILLED=0
    fi
    done
    echo
    if [ $NOT_KILLED = 1 ]
    then
    echo -e "33[32m Cannot kill process 33[0m"
    exit 1
    fi
    echo -e "33[32m $APP_NAME already stopped 33[0m"
    ;;
    start)
    if [ "$PID" != "" ] && check_if_process_is_running
    then
    echo -e "33[32m $APP_NAME already running 33[0m"
    exit 1
    fi
    nohup $JRE_HOME/bin/java -jar $JAVA_OPTIONS_INITIAL $JAVA_OPTIONS_MAX $APP_NAME.jar  &
    echo -ne "33[32m Starting 33[0m" 
    for i in {1..20}; do
    echo -ne "33[32m.33[0m"
    sleep 1
    done
    if check_if_process_is_running 
    then
    echo -e "33[32m $APP_NAME fail 33[0m"
    else
    echo -e "33[32m $APP_NAME started 33[0m"
    fi
    ;;
    restart)
    $0 stop
    if [ $? = 1 ]
    then
    exit 1
    fi
    $0 start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    esac
    
    exit 0
  • 相关阅读:
    SpringBoot+CXF下Https调用webservice跳过安全证书的配置
    程序员的长安十二时辰:Java实现从Google oauth2.0认证调用谷歌内部api
    springboot集成activiti6.0多数据源的配置
    activiti工作流委托功能的设计和实现
    vue.js带复选框表单的增删改查
    bootstrap-treeview后台Json数据的封装及前台的显示
    你好,Spring!
    超大份线程池,干杯,兄弟!陆
    嗯!这篇多线程不错!伍
    是兄弟!就来看这篇多线程!叁
  • 原文地址:https://www.cnblogs.com/hutuchong/p/7524876.html
Copyright © 2020-2023  润新知