• linux启动jar脚本


    #!/bin/sh
     
    APP_NAME=leship
    #jar包路径
    JAR_PATH='/opt/apps'
    #jar名称
    JAR_NAME='blade-api.jar'
    # 日期
    DATE_VALUE=`date +%Y_%m_%d`
    #前一天日期
    DATE_VALUE_D=`date -d "yesterday" +%Y_%m_%d`
    #日志路径 
    LOG_PATH=$JAR_PATH/logs/log-$DATE_VALUE.log 
    #PID  代表是PID文件
    PID=$JAR_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 ">>> $APP_NAME is already running PID=${pid} <<<"
      else
        nohup java -Xms256m -Xmx512m -jar $JAR_PATH/$JAR_NAME --spring.profiles.active=prod >> $LOG_PATH 2>&1 &
        echo $! > $PID
        echo ">>> start $APP_NAME successed PID=$! <<<"
       fi
      }
     
    #停止方法
    stop(){
      #is_exist
      pidf=$(cat $PID)
      #echo "$pidf" 
      echo ">>> PID = $pidf begin kill $pidf <<<"
      kill $pidf
      rm -rf $PID
      sleep 2
      is_exist
      if [ $? -eq "0" ]; then
        echo ">>> PID = $pid begin kill -9 $pid  <<<"
        kill -9  $pid
        sleep 2
        echo ">>> $APP_NAME process stopped <<<" 
      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
      start
    }
     # 输出实时日志
    logs(){
         tail -n 100 -f $LOG_PATH
    }
    #备份日志
    backupLog(){
        cp $LOG_PATH $JAR_PATH/log/log-$DATE_VALUE_D.log 
        #清空原始nohup.out中的内容
        cat /dev/null > $LOG_PATH
    }
     
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
      "start")
        start
        ;;
      "stop")
        stop
        ;;
      "status")
        status
        ;;
      "restart")
        restart
        ;;
      "logs")
        logs
        ;;
      "backupLog")
        backupLog
        ;;
      *)
        usage
        ;;
    esac
    exit 0
  • 相关阅读:
    Java学习:线程实现方式
    Java学习:异常的概念
    HDFS 其他命令---fsck
    Linux 常用命令
    Linux命令注释—HDFS运维
    大数据简介
    FusionInsight大数据开发---Oozie应用开发
    FusionInsight大数据开发---Flume应用开发
    FusionInsight大数据开发---Streaming应用开发
    FusionInsight大数据开发---Redis应用开发
  • 原文地址:https://www.cnblogs.com/fangts/p/14979851.html
Copyright © 2020-2023  润新知