公司一台测试服务器,数据库服务经常无缘无故就挂掉了,非常影响正常使用。
通过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命令,如果服务正常,命令就会提示已启动,无需操作。
效果如下:

手动停止服务,然后自动启动效果

完美!!!