由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启。
1
2
3
4
|
# 1、查找tomcat的进程ID ps -ef | grep tomcat # 2、根据路径去查找进程ID,然后逐个杀掉(毕竟一台服务器上面是会有多个不同业务的tomcat在运行。) kill -9 [ID] |
刚接触这些命令的时候,会经常的手动去敲命令然后练习加深,久而久之,感觉是在浪费时间(有时候会频繁修改数据库内容)。
所以就想着,能不能来编条shell角本去替我做这些意义不大的工作。
新建文件:
1
2
|
touch restart.sh vi restart.sh |
文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
|
#!/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 |
然后保存文件,添加可执行权限 :
1
|
chmod +x restart.sh |
然后直接运行就可以重启多个tomcat命令了。
注:上面有一部分 sed 和 sh 这两个命令查了文档也不太明白是什么意思,但大致感觉就是把进程ID缓存起来然后当作shell角本去执行。
我的想法是根据tomcat的执行路径去匹配查找我想要的删除掉的进程,
1
2
|
#这一段内容是匹配多个不同值,可以修改为你想匹配的路径 '/opt/apache-tomcat-7.0.54\|/opt/open_acct2' |
以上所述是小编给大家介绍的Linux下重启多个 tomcat 服务的脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/xiterjia/p/7090125.html