2015-07-10 67 views
1

我有服务,因为主题说死了,并留下陈旧的PID背后。此特定服务记录每分钟。所以基本上我想创建一个python脚本来检查基于修改时间的日志文件,如果文件没有更新在3分钟,然后重新启动服务。Python,服务死亡,但PID仍然存在。日志文件更新每分钟

我是新来的脚本/编程,所以我需要在这里请的逻辑帮...

这是我迄今为止做的文件年龄检查。

#!/usr/bin/python 
import os, datetime, time 

from os import path 
from datetime import datetime, timedelta 
#file = "/var/log/file.log" 

def check_file(seconds, file_name): 

    try: 
     time_diff = datetime.now() - timedelta(seconds) 
     file_time = datetime.fromtimestamp(path.getctime(file_name)) 
     if file_time < time_diff: 
      return [True, "File: %s. Older than: %s, file_time:%s , date_diff:%s " % (file_name, seconds, file_time, time_diff)] 
     else: 
      return [True, "File: %s. Older than: %s, file_time:%s , date_diff:%s " % (file_name, seconds, file_time, time_diff)] 

    except Exception, e: 
     return [False, e] 

回答

0

之前编写自定义代码来处理这个问题(现在有2个问题),我想看看:

  1. 固定服务本身,以便它不会死,

  2. 在箱级添加对该服务的监控(例如,参见this )。

如果这些选项不切实际,我会从基于bash的Python解决方案开始。

无论哪种情况,您都需要确保重新启动脚本不会死亡。