热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python监控文件,并且发送告警邮件

一、配置文件importtime,datetimeTODAYtime.time()TIME_PATHstr(TODAY.year)++str(TODAY.mo

一、配置文件

import time,datetime

TODAY = time.time()
TIME_PATH = str(TODAY.year) + "/" + str(TODAY.month) + "/" + str(datetime.datetime.now().date())

MONITOR_COnFIG= {
"monitor_file":[
{"key":"py_distribute-datacollect","path":"/home/vagrant/py_distribute/data/" + TIME_PATH + "_error.txt","max_size":100},
],
"send_account":"xxxx@qq.com",
"license_code":"feruwfpsiwkuibge", # 授权码
"rec_account":["xxxx@qq.com"],
"host":"smtp.qq.com",
"port":465,
"sleep_time":60,
}

二、监控

#-*- encoding: utf8 -*-
# 腾讯邮箱授权码
# feruwfpsiwkuibge

import smtplib
import logging
import time
import os
from email.mime.text import MIMEText
from monitor_config import MONITOR_CONFIG

FORMAT = '[%(asctime)-15s] %(message)s'
logging.basicConfig(filename = "monitor.txt", level = logging.DEBUG, filemode = "a", format=FORMAT)

def get_file_size(file_name):
if os.path.exists(file_name):
bytes_size = float(os.path.getsize(file_name))
kb = bytes_size/1024
mb = kb/1024
return mb
return 0

def send_email(file_name,key):
msg = MIMEText(file_name+"文件超过限制,可能存在异常,请处理。项目为:"+key)
msg = [key]
msg["From"]= MONITOR_CONFIG["send_account"]
msg["To"] = MONITOR_CONFIG["rec_account"]
try:
s = smtplib.SMTP_SSL(MONITOR_CONFIG["host"],MONITOR_CONFIG["port"])
s.login(MONITOR_CONFIG["send_account"],MONITOR_CONFIG["license_code"])
s.sendmail(MONITOR_CONFIG["send_account"],MONITOR_CONFIG["rec_account"],msg.as_string())
s.quit()
logging.info(file_name + "警告发送成功")
except Exception as e:
logging.exception(e)

# check
while True:
for file in MONITOR_CONFIG["monitor_file"]:
file_size = get_file_size(file["path"])
if file_size > file["max_size"]:
send_email(file["path"],file["key"])
logging.info("检查完毕")
time.sleep(MONITOR_CONFIG["sleep_time"])

三、需在QQ邮箱设置开启POP3/SMTP服务


四、参考
http://www.cnblogs.com/leetao94/p/5460520.html


推荐阅读
author-avatar
16_阿PIE覀_295
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有