Shell_tomcat重啟和快取清除_Linux運維筆記
阿新 • • 發佈:2018-12-26
開始做運維的時候經常會遇到重啟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
新手學習,求更正,求建議,求同步 一條運維小白的自學之路