springboot 启动脚本(二选一)

启动脚本adminstart.sh

./adminstart.sh  start|stop|restart|status

#!/bin/bash
export JAVA_HOME=/opt/surfront/jre1.8.0_91
export CLASS_PATH=.:
export PATH=$JAVA_HOME/bin:$PATH
#SpringBoot=$2
SpringBoot=

echo $1 $2

if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi

SpringBoots=`ls /opt/surfront/admin-*.jar`
if [ "$SpringBoots" = "" ];
then
    echo -e "\033[0;31m 文件中没有对应的应用 \033[0m"
    exit 1
fi
for sb in $SpringBoots
do
    SpringBoot=$sb
    break
done


if [ "$SpringBoot" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi

function start()
{
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
	if [ $count != 0 ];then
		echo "$SpringBoot is running..."
	else
		nohup java -jar $SpringBoot > /dev/null 2>&1 &
		echo "Start $SpringBoot success..."
	fi
}

function stop()
{
	echo "Stop $SpringBoot"
	boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

	if [ $count != 0 ];then
	    kill $boot_id
    	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

		boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
		kill -9 $boot_id
	fi
}

function restart()
{
	stop
	sleep 2
	start
}

function status()
{
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    if [ $count != 0 ];then
        echo "$SpringBoot is running..."
    else
        echo "$SpringBoot is not running..."
    fi
}

case $1 in
	start)
	start;;
	stop)
	stop;;
	restart)
	restart;;
	status)
	status;;
	*)

	echo -e "\033[0;31m Usage: \033[0m  \033[0;34m sh  $0  {start|stop|restart|status}  {SpringBootJarName} \033[0m
\033[0;31m Example: \033[0m
	  \033[0;33m sh  $0  start esmart-test.jar \033[0m"
esac

电脑启动加载watchdog

vi /etc/rc.local 添加

iptables -F
sh /opt/surfront/watchdog_admin.sh


watchdog_admin.sh

        查找加载admin-*.jar的springboot文件

#!/bin/bash
export JAVA_HOME=/opt/surfront/jre1.8.0_91
export CLASS_PATH=.:
export PATH=$JAVA_HOME/bin:$PATH

SpringBoot=
while true;
do
	sleep 10
	SpringBoots=`ls /opt/surfront/admin-*.jar`
	if [ "$SpringBoots" = "" ];
	then
    		#echo -e "\033[0;31m 文件中没有对应的admin-*.jar文件 \033[0m"
    		continue
	fi
	for sb in $SpringBoots
	do
    		SpringBoot=$sb
    		#break
	done


	if [ "$SpringBoot" = "" ];
	then
    		#echo -e "\033[0;31m 文件中没有对应的admin-*.jar文件 \033[0m"
    		continue
	fi
	
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
	if [ $count = 0 ];then
		nohup java -jar $SpringBoot > /dev/null 2>&1 &
		#echo "Start $SpringBoot success..."
	fi


done



你可能感兴趣的:(springboot 启动脚本(二选一))