zoukankan      html  css  js  c++  java
  • shell脚本自动部署jar包

    #!/bin/bash
    # 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;
    
    APP_NAME=xxxx-0.0.1-SNAPSHOT.jar
    APP_LOG_NAME=xxx.log
    
    #使用说明,用来提示输入参数
    usage() {
        echo "Usage: sh $APP_NAME.sh [start|stop|restart|status]"
        exit 1
    }
    #检查程序是否在运行
    is_exist() {
        pid=$(ps -aux | grep $APP_NAME | grep -v grep | grep -v deploy | awk '{print $2}')
        #如果不存在返回1,存在返回0
        if [ -z "$pid" ]; then
            return 1
        else
            return 0
        fi
    }
    #启动方法
    start() {
        is_exist
        if [ $? -eq 0 ]; then
            echo "$APP_NAME is already running. pid=$pid"
        else
            nohup java -jar $APP_NAME >> $APP_LOG_NAME 2>&1 &
        fi
    }
    #停止方法
    stop() {
        echo "开始关闭java应用"
        is_exist
        if [ $? -eq "0" ]; then
            kill -9 $pid
        else
            echo "$APP_NAME is not running"
        fi
    }
    #输出运行状态
    status() {
        is_exist
        if [ $? -eq "0" ]; then
            echo "$APP_NAME is running. Pid is $pid"
        else
            echo "$APP_NAME is NOT running."
        fi
    }
    #重启
    restart() {
        stop
        sleep 5
        start
    }
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
    "start")
        start
        ;;
    "stop")
        stop
        ;;
    "status")
        status
        ;;
    "restart")
        restart
        ;;
    *)
        usage
        ;;
    esac
  • 相关阅读:
    border-image
    实现页面变成灰色色调
    ie 浏览器“浏览器模式”和“文档模式”之间的区别
    vue-loader
    vue-cli创建的项目中使用sass
    v-html
    vue $forceUpdate 强制更新
    webpack-dev-server 不是内部命令
    vue devtools 以及热更新
    事件机制
  • 原文地址:https://www.cnblogs.com/difs/p/13353191.html
Copyright © 2011-2022 走看看