2015-07-10 58 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解決方案開始。

無論哪種情況,您都需要確保重新啓動腳本不會死亡。