gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python监控文件并且发送告警邮件由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

1、配置文件 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 ,
}

2、监控 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#-*- 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" ])

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

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

4、参考 。

Python使用QQ邮箱发送Email的方法实例 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/kelindame/article/details/71430325 。

最后此篇关于python监控文件并且发送告警邮件的文章就讲到这里了,如果你想了解更多关于python监控文件并且发送告警邮件的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com