本文实例为大家分享了python监控文件并发送邮件的具体代码,供大家参考,具体内容如下
一、配置文件
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 , } |
二、监控
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" ]) |
三、需在QQ邮箱设置开启POP3/SMTP服务
四、参考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/kelindame/article/details/71430325