公司窮逼,分配的服務器老是時不時的掛一次,測試會不停的打擾我,讓我幫忙重啓一下服務。忍無可忍終於發飆寫了一個腳本用來自動重啓。以上是背景。python
這個腳本的功能:1.監測tomca進程是否存在2若tomcat不存在 則自動重啓。shell
如下是腳本文件vim
import subprocess import datetime res = subprocess.Popen("ps -ef | grep tomcat",stdout=subprocess.PIPE,shell=True) tomcats=res.stdout.readlines() counts=len(tomcats) if counts< 5: dt=datetime.datetime.now() fp=open('/app/tomcat6.txt',"a") fp.write("tomcat6 stop at %s\n" % dt.strftime("%Y-%m-%d %H:%M:%S")) fp.write("tomcats ====") fp.write(str(counts)) fp.close() subprocess.Popen("/app/news-tomcat/bin/startup.sh",shell=True) ~
須要注意的是:tomcat
1.grep的字段是可以識別目標進程的字段若是掛的服務多的化,須要可以識別出來服務器
2. count<5這一句 是tomcat 的5這個數據須要本身調整app
3.crontab -e 而後會打開編輯器 編輯如下多長時間檢查一次編輯器
4.執行最後一句重啓的時候可能會報找不到JAVA_HOME, JRE_HOME,沒關係,打開測試
vim catalina.sh
頭部加入code
export JAVA_HOME=/home/gongzi/http/jdk1.6.0_26 export JRE_HOME=/home/gongzi/http/jdk1.6.0_26/jre