Linux下重啟多個 tomcat 服務的腳本


由於修改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的shell腳本

linux grep命令詳解

linux awk命令詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM