不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

jar包启停shell脚本

Posted on 2021-08-03 17:21  三年三班王小朋  阅读(95)  评论(0编辑  收藏  举报

jar包控制脚本1

#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/test
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHO.jar
export PROG=test
function getPid { PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'` } getPid case $1 in start) if [ ! $PID ];then nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 & echo "starting" sleep 1 getPid echo -e "$PROG is \033[32mActive\033[0m, PID = $PID" else echo "$PROG is exist, PID = $PID" fi ;; stop) if [ $PID ];then kill -15 $PID echo "stoping..." sleep 1 getPid echo -e "$PROG is \033[31mDead\033[0m" else echo "$PROG is not exist" fi ;; restart) echo "restarting..." if [ $PID ];then kill -15 $PID sleep 3 nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 & getPid echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID" else nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 & sleep 1 getPid echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID" fi ;; *) echo "Usage:{$0 start|stop|restart}" ;; esac exit 0

jar包控制脚本2

#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz

function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
}

getPid
case $1 in
    start)
        if [  ! $PID  ];then
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        echo "starting..."
        sleep 1
        getPid
        echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
        else
        echo "$PROG is exist, PID = $PID"
        fi
        ;;
    stop)
        if [  $PID ];then
        kill -15 $PID
        echo "stoping..."
        sleep 1
        getPid
        echo -e "$PROG is \033[31mDead\033[0m"
        else
        echo "$PROG is not exist"
        fi
        ;;
    restart)
        echo "restarting..."
        if [  $PID ];then
        kill -15 $PID
        sleep 2
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        getPid
        echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
        else
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        sleep 1
        getPid
        echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
        fi
        ;;
    check)
        if [  -d $JAVA_HOME ]; then
        echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
        else
        echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
        fi
        if [  -d $APP_HOME ]; then
        echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
        if [  -f $APP_HOME/$APP_NAME ]; then
        echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
        else
        echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
        fi
        else
        echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
        fi
        ;;
    log)
        tail -500f $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out
        ;;
    *)
    echo "Usage:{$0 start|stop|restart|check|log}"
        ;;
esac
exit 0

 

 jar包控制脚本改进(端口启停监听)

 

#!/bin/bash
# chkconfig: 2345 10 90
# auther by wangxp

export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz

function getPid(){
sleep 0.5
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
echo "$APP_HOME/logs/catalina.`date +%Y-%m-%d`.out" > $APP_HOME/logs/currentlog.pid
}

function checkProg(){
        t=0
        while (($PID))
        do
        t=$[$t+1]
        if [ $1 == "start" ];then
        if [  "`ss -ntlp |grep $PID`" ]; then
        echo -e "\nstarted"
        PORT=`ss -ntlp |grep $PID|awk 'NR==1 {print $4}'|cut -d: -f4`
        break
        else
        echo -ne "\rstarting...$t"
        sleep 1
        fi
        fi
        if [ $1 == "stop" ];then
        if [  "`ss -ntlp |grep $PID`" ]; then
        echo -ne "\rstopping...$t"
        sleep 1
        else
        echo -e "\nstopped"
        break
        fi
        fi
        done
}

if [ `whoami` == "root" ];then
getPid
case $1 in
    start)
        if [  ! $PID  ];then
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        getPid
        checkProg "start"
        echo -e "$PROG is \033[32mActive\033[0m, PID = $PID , PORT= $PORT"
        else
        echo "$PROG is exist, PID = $PID"
        fi
        ;;
    stop)
        if [  $PID ];then
        kill -15 $PID
        getPid
        checkProg "stop"
        echo -e "$PROG is \033[31mDead\033[0m"
        else
        echo "$PROG is not exist"
        fi
        ;;
    restart)
        if [  $PID ];then
        kill -15 $PID
        checkProg "stop"
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        getPid
        checkProg "start"
        echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
        else
        nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
        getPid
        checkProg "start"
        echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
        fi
        ;;
    check)
        if [  -d $JAVA_HOME ]; then
        echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
        $JAVA_HOME/bin/java -version
        else
        echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
        fi
        if [  -d $APP_HOME ]; then
        echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
        if [  -f $APP_HOME/$APP_NAME ]; then
        echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
        else
        echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
        fi
        else
        echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
        fi
        ;;
    log)
        tailf -500 `cat $APP_HOME/logs/currentlog.pid`
        ;;
    *)
    echo "Usage:{$0 start|stop|restart|check|log}"
        ;;
esac
else
        echo "you must use root to execute"
fi
exit 0