公司一台测试服务器,数据库服务经常无缘无故就挂掉了,非常影响正常使用。
通过python写个脚本,定时30秒监控服务状态,如果服务没有启动就启动一下。
代码如下:
import os import shutil import time import datetime seconds=30 servicelist=[ "MSSQLSERVER" ] while True: try: now=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) for service in servicelist: cmd="net start "+service print(now, ' ', cmd) os.system(cmd) counter=seconds while counter>0: print('wating for ', counter, 'seconds...') time.sleep(1) counter=counter-1 except er: print(er)
原理很简单,就是执行一条启动服务的cmd命令,如果服务正常,命令就会提示已启动,无需操作。
效果如下:
手动停止服务,然后自动启动效果
完美!!!