• spring 项目 jar 方式部署情况的 部署脚本


    #!/bin/sh
    ## java env
    export JAVA_HOME=/usr/local/jdk/jdk1.8.0_101
    export JRE_HOME=$JAVA_HOME/jre

    API_NAME=api
    JAR_NAME=$API_NAME\.jar
    #PID 代表是PID文件
    PID=$API_NAME\.pid

    #使用说明,用来提示输入参数
    usage() {
    echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
    exit 1
    }

    #检查程序是否在运行
    is_exist(){
    pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
    #如果不存在返回1,存在返回0
    if [ -z "${pid}" ]; then
    return 1
    else
    return 0
    fi
    }

    #启动方法
    start(){
    is_exist
    if [ $? -eq "0" ]; then
    echo ">>> ${JAR_NAME} is already running PID=${pid} <<<"
    else
    nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME >/dev/null 2>&1 &
    echo $! > $PID
    echo ">>> start $JAR_NAME successed PID=$! <<<"
    fi
    }

    #停止方法
    stop(){
    #is_exist
    pidf=$(cat $PID)
    #echo "$pidf"
    echo ">>> api PID = $pidf begin kill $pidf <<<"
    kill $pidf
    rm -rf $PID
    sleep 2
    is_exist
    if [ $? -eq "0" ]; then
    echo ">>> api 2 PID = $pid begin kill -9 $pid <<<"
    kill -9 $pid
    sleep 2
    echo ">>> $JAR_NAME process stopped <<<"
    else
    echo ">>> ${JAR_NAME} is not running <<<"
    fi
    }

    #输出运行状态
    status(){
    is_exist
    if [ $? -eq "0" ]; then
    echo ">>> ${JAR_NAME} is running PID is ${pid} <<<"
    else
    echo ">>> ${JAR_NAME} is not running <<<"
    fi
    }

    #重启
    restart(){
    stop
    start
    }

    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
    "start")
    start
    ;;
    "stop")
    stop
    ;;
    "status")
    status
    ;;
    "restart")
    restart
    ;;
    *)
    usage
    ;;
    esac
    exit 0

  • 相关阅读:
    .net 操作XML小结
    Oracle 10g RAC的负载均衡配置
    数据仓库建模与ETL实践技巧
    Red Hat Linux的分区
    用C#实现MVC(Model View Control)模式介绍
    SQL SERVER 日期函数大全
    ORACLE RAC工作原理
    NVARCHAR ,VARCHAR,NCHAR,CHAR区别
    SQLserver中用convert函数转换日期格式
    Linux之远程登录和文件传输
  • 原文地址:https://www.cnblogs.com/zeenzhou/p/16418127.html
Copyright © 2020-2023  润新知