zoukankan      html  css  js  c++  java
  • 分布式项目中 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
  • 相关阅读:
    WPF线程调用UI元素
    WPF使用阿里巴巴矢量图标图ttf
    WPF读取Excel表格数据到DataGrid
    WPF开发的软件在触摸屏当操作遇到边界时
    WPF 全局样式(滚动条)
    WPF TextBox文本自动换行
    Maven : Cannot download sources
    nginx关闭后仍然能够访问localhost:80
    微信公众号开发总结
    CAT window10 本地安装
  • 原文地址:https://www.cnblogs.com/hutuchong/p/7524876.html
Copyright © 2011-2022 走看看