臨時處理tomcat僵死問題

現場的同事遇到一個Tomcat僵死的問題,隔三差五的服務器就會掛掉,向我尋求解決方案,服務器正常,沒有發現問題。可能是應用程序本身的問題導致,先取一個臨時的辦法,先服務器跑起來,然後慢慢找原因:

1、  編寫一個重啓tomcatshell腳本,腳本內容如下:restart.sh

vi restart.sh

注意“.”和 /etc/profile 之間有空格(. /etc/profile 注意, ".""/etc/profile" 之間有空格.)

#!/bin/sh

. /etc/profile

pid=`ps aux | grep tomcat | grep -vgrep | grep -v retomcat | awk '{print $2}'`

echo $pid

if [ -n "$pid" ]

then

{

  echo -------shutdown---------

  /opt/wstk/tomcat6/bin/shutdown.sh

  sleep 1

  pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk'{print $2}'`

  if [ -n "$pid" ]

  then

   {

     sleep 1

     echo -------kill tomcat--------

     kill -9 $pid

   }

  fi

  sleep 1

  echo --------startup.sh----------

  /opt/wstk/tomcat6/bin/startup.sh

 }

else

echo --------startup.sh---------

/opt/wstk/tomcat6/bin/startup.sh

 

fi

2、  給腳本賦予權限

#chmod u+x restart.sh或者chmod 777 restart.sh

 

3、  編寫定時任務腳本

#crontab  -e

添加如下腳本內容:

30 04 * * * /home/retwo/restart.sh >>/home/retwo/logs/restart.log 2>&1

wKioL1RHIkixvv6kAAC0YIURZ2c880.jpg

4、重啓定時任務腳本

1)查看定時任務狀態

service crond status

2)停止定時任務  

service crond stop

3)啓動定時任務

service crond start

4)或者使用service crond restart命令

wKioL1RHIYXA7AciAADJkg9bRTM191.jpg

這只是臨時的解決辦法,要從根本解決問,還要認真分析出現問題的原因。找出問題根源,開着水龍頭拖地,永遠是拖不乾淨的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章