监控Tomcat服务,自动重启脚本

针对测试环境程序异常关闭,由于测试环境安装Supervisor太费劲了,就自己写了一个小脚本,希望能解决大家的问题,脚本内容如下:

#!/usr/bin/python
# coding=utf-8
import subprocess
import datetime
import time

App = {"appstock.soa.360buy.com": "/export/Domains/appstock.soa.360buy.com/server1/bin/"}


for key in App.keys():
  command = "ps -ef | grep " + key
   res = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
  tomcats = res.stdout.readlines()
  counts = len(tomcats)
  dt = datetime.datetime.now()
  fp = open("/root/tomcat_app.txt", "a")
  if counts < 3:
  fp.write(key + " stop at %s\n" % dt.strftime("%Y-%m-%d %H:%M:%S"))
  stop = App[key] + "/stop.sh"
  start = App[key] + "/start.sh"
  subprocess.Popen(stop, shell=True)
  time.sleep(10)
  subprocess.Popen(start, shell=True)
 else:
  fp.write(key + " is running at %s\n" % dt.strftime("%Y-%m-%d %H:%M:%S"))
 fp.close()

1  App是一个字典,key是程序域名,value是启动脚本所在的目录地址(绝对地址)

2 设置定时任务

   crontab -e

    */5 * * * *  python /root/monitor.py    (脚本的绝对地址)  如果执行不写python的话,记得给脚本可执行的权限

   如果crontab没有生效,重启一下  /etc/init.d/crond restart 

猜你喜欢

转载自blog.csdn.net/weixin_42343424/article/details/82708592
今日推荐