这篇文章将为大家详细讲解有关怎样利用python 发送MySQL慢日志邮件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联公司专业为企业提供高密网站建设、高密做网站、高密网站设计、高密网站制作等企业网站建设、网页设计与制作、高密企业网站模板建站服务,十余年高密做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
一 需求
    因为开发针对某系统做稳定性建设,需要对数据库系统的慢日志进行审计,检查优化。和开发沟通选择定期发送慢查询到开发的邮箱的方式,每日汇总,然后一起评估 优化slow query 。
二 工具实现
mail.py  脚本
- #!/usr/bin/env python 
- # -*- coding: utf-8 -*- 
- # mail.py 
- import os.path 
- import time 
- import sys 
- import os 
- import json 
- import string 
- import random 
- import smtplib 
- import time 
- from datetime import date 
- from email.mime.multipart import MIMEMultipart 
- from email.mime.text import MIMEText 
- from email.mime.image import MIMEImage 
- from email.Header import Header 
- from email.MIMEText import MIMEText 
- from email.MIMEMultipart import MIMEMultipart 
- mail_user="xxx@xxxx.com"; 
- mail_pass="xxxxx"; 
- mail_smtp_server="smtp.xxxxx.com"; 
- mail_smtp_port= 25 
- def sendMail(contents,subject,attach,mail_to): 
- lTime=str(time.strftime('%Y%m%d_%H',time.localtime(time.time()))) 
- msg = MIMEMultipart('related'); 
- if subject=="": 
- subject='test'; 
- msg['Subject'] = subject+" Time:"+ lTime; 
- msg['From'] = mail_user; 
- msg['To'] = ";".join(mail_to) ; 
- html=""; 
- for cont in contents: 
- html = html+cont[0]; 
- msgHtml = MIMEMultipart('alternative'); 
- msgHtml.set_charset('UTF-8'); 
- msgAtt = MIMEText(open(attach,'rb').read(),'base','gbk'); 
- msgAtt["Content-Type"] = 'application/octet-stream' 
- msgAtt["Content-Disposition"] = 'attachment; filename="'+subject+'"' 
- msg.attach(msgAtt); 
- try: 
- smtp = smtplib.SMTP(); 
- smtp.connect(mail_smtp_server,mail_smtp_port) 
- smtp.login(mail_user,mail_pass); 
- smtp.sendmail(mail_user,mail_to,msg.as_string()); 
- smtp.close(); 
- except Exception,e: 
- print str(e) 
 sendSlowlog.py
 
- #!/usr/bin/env python 
- # -*- coding: utf-8 -*- 
- import mail ##使用了上述脚本 
- import sys 
- import time 
- import os 
- import datetime 
- from datetime import date 
- from os.path import join, getsize 
- def sendSlowlog(subject_info,attach,mail_to): 
- size = os.path.getsize(attach) 
- if(size > 1): 
- mail.sendMail("",subject_info,attach,mail_to) 
- if __name__ == '__main__': 
- mail_to=["qilong.yangql@xxxx.com"] 
- lDate=str(time.strftime('%Y%m%d',time.localtime(time.time()))) 
- lTime=str(time.strftime('%Y%m%d_%H',time.localtime(time.time()))) 
- subject_info="Slowlog of DBname" + lTime 
- attach="/u01/my3306/log/slow_"+ lDate +"/slow.log."+lTime 
- sendSlowlog(subject_info,attach,mail_to) 
注
   本系统已经每小时将slow log 进行分割,关于如何切割,各位可以思考一下。 
关于怎样利用python 发送MySQL慢日志邮件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网页题目:怎样利用python发送MySQL慢日志邮件
标题网址:http://www.cqwzjz.cn/article/jdphpd.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 