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


Posted in Python onJune 21, 2018

本文实例为大家分享了python监控文件并发送邮件的具体代码,供大家参考,具体内容如下

一、配置文件

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服务

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

四、参考

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
跟老齐学Python之print详解
Sep 28 Python
python脚本内运行linux命令的方法
Jul 02 Python
python用户管理系统的实例讲解
Dec 23 Python
python版飞机大战代码分享
Nov 20 Python
Python解析、提取url关键字的实例详解
Dec 17 Python
在Python 不同级目录之间模块的调用方法
Jan 19 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
python getpass模块用法及实例详解
Oct 07 Python
python 瀑布线指标编写实例
Jun 03 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
python3实现磁盘空间监控
Jun 21 #Python
Python实现的远程登录windows系统功能示例
Jun 21 #Python
python3监控CentOS磁盘空间脚本
Jun 21 #Python
python实现猜单词小游戏
May 22 #Python
python2.x实现人民币转大写人民币
Jun 20 #Python
python实现猜数字小游戏
Mar 24 #Python
python实现人民币大写转换
Jun 20 #Python
You might like
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
JS解析XML的实现代码
2009/11/12 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
js实现每日签到功能
2018/11/29 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
wxPython事件驱动实例详解
2014/09/28 Python
python中list循环语句用法实例
2014/11/10 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
Python打印不合法的文件名
2020/07/31 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
大二学生职业生涯规划书
2014/02/05 职场文书
法制宣传标语
2014/06/23 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
先进个人材料怎么写
2014/12/30 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书