欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux下重启多个 tomcat 服务的脚本(推荐)

程序员文章站 2022-09-25 21:42:13
由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启。 # 1、...

由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启。

# 1、查找tomcat的进程id
ps -ef | grep tomcat
# 2、根据路径去查找进程id,然后逐个杀掉(毕竟一台服务器上面是会有多个不同业务的tomcat在运行。)
kill -9 [id]

刚接触这些命令的时候,会经常的手动去敲命令然后练习加深,久而久之,感觉是在浪费时间(有时候会频繁修改数据库内容)。

所以就想着,能不能来编条shell角本去替我做这些意义不大的工作。

新建文件:

touch restart.sh
vi restart.sh

文件内容:

#!/bin/bash
kow=/opt/apache-tomcat-7.0.54
open_acct=/opt/open_acct2
echo "killing tomcat..."
# 找到tomcat的进程id,并kill掉
ps -ef | grep -v grep | grep -i '/opt/apache-tomcat-7.0.54\|/opt/open_acct2' | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
echo "killed tomcat"
echo "starting kow tomcat..."
# 重新启动tomcat
$kow/bin/startup.sh
$open_acct/tomcat2/bin/startup.sh
$open_acct/apache-tomcat-7.0.54/bin/startup.sh

然后保存文件,添加可执行权限 :

chmod +x restart.sh

然后直接运行就可以重启多个tomcat命令了。

注:上面有一部分 sed 和 sh 这两个命令查了文档也不太明白是什么意思,但大致感觉就是把进程id缓存起来然后当作shell角本去执行。

我的想法是根据tomcat的执行路径去匹配查找我想要的删除掉的进程, 

#这一段内容是匹配多个不同值,可以修改为你想匹配的路径
'/opt/apache-tomcat-7.0.54\|/opt/open_acct2' 

以上所述是小编给大家介绍的linux下重启多个 tomcat 服务的脚本,希望对大家有所帮助