code monitor.py
#!/usr/bin/env python
# coding:utf-8
import os
import logging
#日志格式
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='monitor.log', level=logging.DEBUG, format=LOG_FORMAT)
process = '/home/work/monitor/run.lock'
#需要監(jiān)控的服務(wù)
servers = ['bill_data_cur/','bill_data_cur_new']
#服務(wù)腳本目錄
path = '/home/proxy/bin/'
for server in servers:
os.system('jps -m|grep %s > %s'%(server,process))
if not (os.path.getsize(process)):
os.system("sh %s%s.sh"%(path,server.replace("/","")))
logging.info("checking...")
通過執(zhí)行shell jps -m|grep 輸出文本的形式確定程序是否運行
如果未運行將程序啟動
crontab -e 調(diào)度
0 * * * * python /home/work/monitor/monitor.py
通過crontab每小時調(diào)度一次
cron 日志查看地址: /var/log/cron