2015-09-24 4 views
0

Мне нужно отслеживать службу, установленную на нескольких серверах. если служба работает, она изменяет файлы журнала каждые 5 минут, но если ее вниз, то нет изменений в файле журнала. Мне нужно знать, возможно ли реализовать скрипт в python, который контролирует файл журнала и запускает электронную почту или событие в случае отсутствия изменений в файле журнала более 10 минут. Я новичок в python и все еще в фазе обучения.Мониторинг файла журнала с использованием python

ответ

0

Вы можете проверить, превышает ли время изменения файла более 10 минут. Если это так, отправьте письмо или сделайте что-нибудь еще, чтобы предупредить себя.

Время модификации будет в секундах. Измените 10 в (10 * 60) на любое количество минут, которое вам нужно.

time.time() возвращает эпоху (количество секунд начиная с 01.01.1970).

import os.path, time 
import smtplib 

if (time.time() - os.path.getmtime('/path/to/file.log') > (10 * 60)): 
    try: 
     smtpObj = smtplib.SMTP('localhost') 
     smtpObj.sendmail('[email protected]', '[email protected]', 'My log file has not been updated for a while') 
    except SMTPException: 
     print 'Error: unable to send email' 
+0

Спасибо, keda, это помогает. – Aman

0

Да. Вы можете использовать модуль sched или даже только time.sleep для задержки и модули smtplib и email для отправки электронных писем.

Смежные вопросы