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