zoukankan      html  css  js  c++  java
  • Shell 简单的java微服务jar包 -- 启动脚本

    #!/bin/bash
    
    # 接收服务名
    PJT_name=$1
    PJT_DIR=/apps/project/
    # 接受 start status stop 参数
    service=$2
    # 获取主机名判断Eureka服务启动的 参数
    HOSTNAME=`hostname`
    dic=("grab_cycle_eureka" "grab_cycle_ubikeuser1" "grab_cycle_config" "grab_cycle_gateway" "grab_cycle_ubikeuser" "grab_cycle_timing" "grab_cycle_MKexternal" "grab_cycle_MKcore" "grab_cycle_MKpay" "grab_cycle_MKstatistic" "grab_cycle_MKridingorder" "grab_cycle_MKfeedback" "grab_cycle_MKjarvis" "grab_cycle_MKbike" "grab_cycle_ubikelock" "grab_cycle_ubikeinfra" "grab_cycle_ubikeHwtest" "grab_cycle_WulianBle" "grab_cycle_mqttserver" "grab_cycle_mqttserver")
    
    start_p(){
      for key in $(echo ${dic[*]})
      do
        #if [[ $PJT_name == ${key} ]]  && [[ ${key} == "grab_cycle_eureka" ]] && [[ ${HOSTNAME} == "Xgrabcycle-prod-cycle-002" ]];then
        if [ $PJT_name == ${key} -a ${key} == "grab_cycle_eureka"  -a  ${HOSTNAME} == "Xgrabcycle-prod-cycle-002" ];then 
            nohup "/apps/sofe/jdk1.8.0_131/bin/java -jar  -Xms2048M -Xmx4096M -XX:+UseConcMarkSweepGC -XX:-PrintGCDetails -Dspring.profiles.active=prod2  ${key}.jar  >> /apps/project/${key}/${key}.log 2>&1 &"
            sleep 3
            start_pid=`ps -ef | grep "${PJT_DIR}${PJT_name}" | egrep -v "grep"|awk -F'[ ;]+' '{print $2}'`
            echo $start_pid
            if [[ -n $start_pid ]];then
                echo "$PJT_name started is success"
            else
                echo "$PJT_name started is failed"
            fi
        else
            if [[ $PJT_name == "${key}" ]];then
            nohup "/apps/sofe/jdk1.8.0_131/bin/java -jar  -Xms2048M -Xmx4096M -XX:+UseConcMarkSweepGC -XX:-PrintGCDetails -Dspring.profiles.active=prod1  ${key}.jar  >> /apps/project/${key}/${key}.log 2>&1 &"
            sleep 3
            start_pid=`ps -ef | grep "${PJT_DIR}${PJT_name}" | egrep -v "grep" |awk -F'[ ;]+' '{print $2}'`
            echo $start_pid
            if [[ -n $start_pid ]];then
                    echo "$PJT_name started is success"
            else
                    echo "$PJT_name started is failed"
            fi
            fi
        fi
      done
    }
    
    stop_p(){
      for key in $(echo ${dic[*]})
      do
        if [[ $PJT_name == "${key}" ]];then
            pid_number=`ps -ef | grep "${PJT_DIR}${PJT_name}" | egrep -v "grep"|awk -F'[ ;]+' '{print $2}'`
            echo $pid_number
            kill -9 $pid_number
            if [ $? -eq 0 ];then
                echo "$PJT_name shutdown is success"
            else
                echo "$PJT_name shutdown is failed"
            fi
        fi
      done
    }
    
    status_p(){
      for key in $(echo ${dic[*]})
      do
        if [[ $PJT_name == "${key}" ]];then
            pid_number=`ps -ef | grep "${PJT_DIR}${PJT_name}" | egrep -v "grep|bash" | awk -F'[ ;]+' '{print $2}'`
            echo $pid_number
            if [[ -n $pid_number ]];then
                echo "$PJT_name  is running"
            else
                echo "$PJT_name  is stoped"
            fi
        fi
      done
    }
    
    case "$2" in 
      start)
            start_p
      ;;
      stop)
            stop_p
      ;;
      status)
            status_p
      ;;
      *)
      echo $"Usage: $0 project_name {start|stop|status}"
            exit 2
    esac
  • 相关阅读:
    200. Number of Islands 200.岛屿数(可以形状一样)
    695. Max Area of Island最大岛屿面积
    springboot如何在项目启动时初始化资源
    springboot之集成Memcached
    springboot之spring-boot-admin对springboot服务进行监控
    springboot之集成FastDFS
    springboot之上传文件
    springboot之整合shiro-登录认证和权限管理
    springboot 如何测试打包部署
    springboot之Mongo
  • 原文地址:https://www.cnblogs.com/dy11/p/9480324.html
Copyright © 2011-2022 走看看