按名称重启Tomcat、springboot脚本

tomcat和springboot重启脚本

每次重启项目都需要先查看进程在杀死启动比较麻烦,所以写了一个shell脚本用来重启项目

重启tomcat

1. 创建脚本restart-web.sh.其中NAME:tomcat-test是使用ps -ef|grep tocmat-test命令只能查询到该进程,否则会把查询到的进程全部杀死(可以给tomcat起一个唯一的名字,使用该名字)
按名称重启Tomcat、springboot脚本_第1张图片

#!/bin/bash
echo "restrat..."
NAME=$1
echo $NAME
if [ ! -n "$NAME" ]
then
	NAME=tomcat-test
	echo "use default name" $NAME
fi
pid=`ps -ef | grep java | grep "$NAME" | awk '{print $2}'`
if [ -n "$pid" ]
then
		kill -9 $pid
		echo "kill pid:"$pid
fi
echo "kill pid finish..."
sleep 2s
./startup.sh

2. 把脚本上传到tomcat的bin目录下,和start.sh同目录,并授权chmod a+x restart-web.sh

3. 启动脚本(tomcat/bin目录下执行命令)

  • 使用脚本中配置的默认NAME重启:./restart-web.sh
  • 使用指定NAME(该NAME可以唯一查到该进程):./restart-web.sh tomcat

重启springboot项目jar包

1. 创建脚本restart-jar.sh.其中NAME:springboot-6.1.0-SNAPSHOT.jar是jar包完整名称
按名称重启Tomcat、springboot脚本_第2张图片

#!/bin/bash
echo "restrat..."
NAME=$1
echo $NAME
if [ ! -n "$NAME" ]
then
	NAME=springboot-6.1.0-SNAPSHOT.jar
	echo "use default name" $NAME
fi
pid=`ps -ef | grep java | grep "$NAME" | awk '{print $2}'`
if [ -n "$pid" ]
then
		kill -9 $pid
		echo "kill pid:"$pid
fi
echo "kill pid finish..."
java -jar $NAME &

2. 把脚本restart-jar.sh上传到springboot-6.1.0-SNAPSHOT.jar同目录,并授权chmod a+x restart-jar.sh(也可以把脚本放到统一的目录,使用绝对路径启动项目.eg:使用java-jar /home/$NAME &代替脚本最后一行java -jar $NAME &)

3. 启动脚本(restart-jar.sh目录下执行命令)

  • 使用脚本中配置的默认NAME重启:./restart-jar.sh
  • 使用指定NAME(该NAME是jar包完整名称,可以使用该命令重启不同的springboot项目):
    ./restart-jar.sh springboot-6.1.0-SNAPSHOT.jar

按tomcat名称或者端口精确杀死进程,重启服务

请参看按tomcat名称或者端口精确杀死进程,重启服务

你可能感兴趣的:(#,shell,linux)