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中的join()函数的用法
Apr 07 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
详解python之heapq模块及排序操作
Apr 04 Python
python批量识别图片指定区域文字内容
Apr 30 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
Python Django 命名空间模式的实现
Aug 09 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
python和node.js生成当前时间戳的示例
Sep 29 Python
解决python3中os.popen()出错的问题
Nov 19 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
js Html结构转字符串形式显示代码
2011/11/15 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
python网络编程之五子棋游戏
2020/05/14 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
中专生职业生涯规划书范文
2014/01/10 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
大学生就业意向书范文
2014/04/01 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
文明单位申报材料
2014/12/23 职场文书
2015年库房工作总结
2015/04/30 职场文书
围城读书笔记
2015/06/26 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
无线电通信名词解释
2022/02/18 无线电