1. 程式人生 > >Shell_tomcat重啟和快取清除_Linux運維筆記

Shell_tomcat重啟和快取清除_Linux運維筆記

開始做運維的時候經常會遇到重啟tomcat、重新部署專案包等情況,為減少其他因素帶來影響,就需要每次啟動都要清除一下tomcat執行的快取檔案,這樣問題就出來了,這個重複勞動沒技術含量,也怕刪錯檔案,就想這個tomcat為什麼不能新增到服務呢?那樣就能使用service *** start/stop命令,可是找了好久沒找到,不知道是因為太簡單,還是我的原因,時間久了,自己就開始研究shell了,上週開始學習shell也有半個月了,有點成果share一下。

目的:

1.重啟tomcat

2.清空快取檔案

但是要注意的是環境變數的設定,若不同需要自己更改。


#!/bin/sh
tomcat_dir=/usr/local/apache-tomcat-7.0.47
#嘗試關閉tomcat
Monitor(){
	echo "		[$(date +'%F %H:%M:%S')]"
	#第一次檢查,是否存在,然後嘗試使用shutdown關閉tomcat
	tomcatPid_1=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
	echo "Tomcat的pid為:$tomcatPid_1"
    if [ "$tomcatPid_1" ]
		then
		echo "=*=Tomcat執行正常,現在關閉,並清空快取"
		sh $tomcat_dir/bin/shutdown.sh
		#第二次檢查,shutdown結果,然後嘗試使用kill關閉tomcat
		tomcatPid_2=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
		if [ "$tomcatPid_2" ]
			then
			kill -9 $tomcatPid_2
			#第三次檢查,kill結果
			tomcatPid_3=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
			if [ "$tomcatPid_3" ]
				then
				echo "	Tomcat程序kill失敗,這個基本不可能"
			else
				echo "	Tomcat關閉成功For Kill"
			fi
		else
			echo "	shutdown.sh停止Tomcat成功"
		fi		
	else
		echo "	Tomcat之前並沒有啟動"
	fi
	
}
Monitor
#嘗試清快取/work/Catalina
if [ ! -d "$tomcat_dir/work/Catalina" ];
	then
	echo "/work/Catalian不存在"
else
	rm -rf "$tomcat_dir/work/Catalina"
	echo "/work/Catalina存在,現已刪除"
fi
#嘗試清日誌
if ! [ -f "$tomcat_dir/logs/catalina.out" ]
	then
	echo "/logs/catalina.out不存在"
else
	cd $tomcat_dir/logs
	rm -rf *
	echo "tomcat日誌檔案存在,現已刪除"
fi
#嘗試清快取/conf/Catalina
if [ ! -d "$tomcat_dir/conf/Catalina" ]
	then
	echo "/conf/Catalina不存在"
else
	rm -rf "$tomcat_dir/conf/Catalina"
	echo "/conf/Catalina存在,現已刪除"
fi

我自己測試沒有問題,指令碼還在不斷優化中。。。

推薦Linux學習千人群:148976441

新手學習,求更正,求建議,求同步 一條運維小白的自學之路