日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

tomcat监控脚本

發(fā)布時(shí)間:2025/3/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat监控脚本 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#!/bin/sh# func:自動(dòng)監(jiān)控tomcat腳本并且執(zhí)行重啟操作# 獲取tomcat進(jìn)程ID(其中[grep -w '.....']中的.....需要替換為實(shí)際部署的tomcat文件夾名,如下) TomcatID=$(ps -ef |grep tomcat |grep -w '/usr/local/tomcat/apache-tomcat-8.5.31'|grep -v 'grep'|awk '{print $2}') # 獲取同一個(gè)tomcat重復(fù)啟動(dòng)個(gè)數(shù) TomcatCount=$( ps -ef |grep tomcat |grep -w '/usr/local/tomcat_autoupdate'|grep -v 'grep'|awk '{print $2}' |wc -l)# tomcat啟動(dòng)程序(這里注意tomcat實(shí)際安裝的路徑) StartTomcat=/usr/local/tomcat/apache-tomcat-8.5.31/bin/startup.sh TomcatCache=/usr/local/tomcat/apache-tomcat-8.5.31/work#定義要監(jiān)控的頁(yè)面地址 WebUrl=http://localhost:8080/test2#日志輸出 GetPageInfo=/tmp/tomcat_oip_back_visit.info TomcatMonitorLog=/tmp/tomcat_oip_back_monitor.logMonitor() {echo "[info]開始監(jiān)控tomcat...[$(date +'%F %H:%M:%S')]"if [[ $TomcatCount -gt 1 ]];then #這里判斷Tomcat進(jìn)程是否有重復(fù)啟動(dòng),有重復(fù)啟動(dòng)則全部干掉ps -ef |grep tomcat |grep -w '/usr/local/tomcat_autoupdate'|grep -v 'grep'|awk '{print $2}' | xargs kill -9echo "同一tomcat開啟開啟 $TomcatCount 個(gè)進(jìn)程,統(tǒng)統(tǒng)kill掉"sleep 5elseif [ $TomcatID ];then #這里判斷Tomcat進(jìn)程是否存在echo "[info]當(dāng)前tomcat進(jìn)程ID為:$TomcatID,繼續(xù)檢測(cè)頁(yè)面..."# 檢測(cè)是否啟動(dòng)成功(成功的話頁(yè)面會(huì)返回狀態(tài)"200"),100秒無(wú)響應(yīng)就不等待了TomcatServiceCode=$(curl -s -o $GetPageInfo -m 100 --connect-timeout 100 $WebUrl -w %{http_code})if [ $TomcatServiceCode -eq 200 ];thenecho "[info]頁(yè)面返回碼為$TomcatServiceCode,tomcat啟動(dòng)成功,測(cè)試頁(yè)面正常"elseecho "[error]tomcat頁(yè)面出錯(cuò),請(qǐng)注意...狀態(tài)碼為$TomcatServiceCode,錯(cuò)誤日志已輸出到$GetPageInfo"echo "[error]頁(yè)面訪問(wèn)出錯(cuò),開始重啟tomcat"kill -9 $TomcatID # 殺掉原tomcat進(jìn)程sleep 5rm -rf $TomcatCache # 清理tomcat緩存$StartTomcatfielseecho "[error]tomcat進(jìn)程不存在!tomcat開始自動(dòng)重啟..."echo "[info]$StartTomcat,請(qǐng)稍候..."rm -rf $TomcatCache$StartTomcatfifiecho "--------------------------" } Monitor>>$TomcatMonitorLog ps -e //顯示所有進(jìn)程ps -f //按樹狀顯示grep tomcat //只取含有tomcat的行g(shù)rep -w 'apache-tomcat-5.5.23' //-w選項(xiàng)搜索一個(gè)單詞,并且避免搜索到詞中的部分字串。 搜索含有apache-tomcat-5.5.23的行g(shù)rep -v 'grep' //去掉含有g(shù)rep的行awk '{print $2}' //用空格切分 取第二列ps -ef |grep tomcat |grep -w 'apache-tomcat-5.5.23'|grep -v 'grep'|awk '{print $2}' //獲取tomcat的進(jìn)程id 但是僅僅是 tomcat進(jìn)程存在是不夠的,需要訪問(wèn)下 站點(diǎn)頁(yè)面看看 是否訪問(wèn)正常 正常狀態(tài)為200 通過(guò)curl curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code} //訪問(wèn)頁(yè)面并保存頁(yè)面內(nèi)容返回狀態(tài)碼 -s --silent //靜默模式,就是不顯示錯(cuò)誤和進(jìn)度 -o $GetPageInfo //將文件保存到本地并命名為$GetPageInfo -m //表示獲取網(wǎng)頁(yè)的最長(zhǎng)時(shí)間(數(shù)據(jù)傳輸?shù)淖畲笤试S時(shí)間) -m 10 //表示如果10秒內(nèi)無(wú)法完成獲取網(wǎng)頁(yè)源碼的操作,則放棄 --connect-timeout //連接超時(shí)時(shí)間 --connect-timeout 10 //表示如果10秒內(nèi)無(wú)法連接,則放棄 $WebUrl //就是我們要訪問(wèn)的頁(yè)面路徑變量 -w //curl的-w參數(shù)我們可以自定義curl的輸出,%{http_code}代表http狀態(tài)碼如果狀態(tài)碼為200則 tomcat正常,否則 kill 殺掉tomcat 進(jìn)程, 訪問(wèn)tomcat的啟動(dòng)腳本 start.sh 啟動(dòng)tomcat

?

?

總結(jié)

以上是生活随笔為你收集整理的tomcat监控脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。