python 脚本监控windows上tomcat是否运行,否则重启

# -*- coding: utf-8 -*-


import os  
import sys 
import socket
import time
import datetime
import psutil  #到python的pip的路径下,一般是python\scripts下执行命令(pip install psutil)


#-----服务器上tomcat的信息和服务器的信息---
path = 'E:\\tomcat\\apache-tomcat-8.0.0-RC5\\bin'   #服务器tomcat路径
ip = '10.148.83.179'      #服务器ip地址
port = 8008              #tomcat端口
file_path = 'F:\webapps'   #记录每次脚本执行的日志文件文件夹路径


#-------检测8008端口是否能连接,能则tomcat运行中,否则重启tomcat----        
def tomcat():
    try:
        b = s.connect((ip,port))
        os.system("echo %s  connect to port 8008 successfully! >> %s" %(otherStyleTime, logfile))
        status_code = 1
    except Exception:
        status_code = 2
    if status_code == 2:
        os.chdir(path)
        os.system('shutdown.bat')
        os.system("echo %s   can't connect to port 8008, stop tomcat >> %s" %(otherStyleTime,logfile))
        time.sleep(10)
        os.system('startup.bat')
        os.system("echo %s    tomcat restart! >> %s" %(otherStyleTime, logfile)) 

if __name__ == '__main__':   
    while True :     #每五分钟循环执行一次脚本
        #--------创建ipv4地址簇的tcp连接的socket-------------------
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.settimeout(1)
        except socket.error, msg:
            os.system("echo Failed to create socket. Error code: %s , Error message : %s >> %s " %s(str(msg[0]),msg[1],logfile))
        now = int(time.time())
        timeArray = time.localtime(now)
        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)    #获取固定格式时间的字符串
        logfile = file_path + '\%s.log' %(time.strftime('%Y%m%d',time.localtime()))    #日志文件存放处
        tomcat()
        time.sleep(60)
阅读更多

没有更多推荐了,返回首页