利用Python 发送MySQL 慢日志邮件

php中文网
发布: 2016-06-07 16:08:38
原创
1203人浏览过

因为开发针对某系统做稳定性建设,需要对数据库系统的慢日志进行审计,检查优化。和开发沟通选择定期发送慢查询到开发的邮箱的方

一 需求
    因为开发针对某系统做稳定性建设,需要对数据库系统的慢日志进行审计,,检查优化。和开发沟通选择定期发送慢查询到开发的邮箱的方式,每日汇总,然后一起评估 优化slow query 。

二 工具实现
mail.py  脚本

#!/usr/bin/env python
 
# -*- coding: utf-8 -*-

# mail.py

import os.path

立即学习Python免费学习笔记(深入)”;

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="[email protected]";

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');

凹丫丫企业名片网站管理系统 beta 1
凹丫丫企业名片网站管理系统 beta 1

本系统基于VS2005+SQL2005开发, 基本功能模块:供求信息、展会信息、企业商铺、产品库、企业目录信息评论会员服务在线申请在线留言,留言可直接发送到用户邮箱后台数据库备份登陆日志操作日志管理员分级管理权限后台路径 http://你的网站地址/sitemanage用户名:oyaya 密码 123456数据库存放地址 /App_Data 文件夹下oyaya_mingpian.rar

凹丫丫企业名片网站管理系统 beta 1 0
查看详情 凹丫丫企业名片网站管理系统 beta 1

    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=["[email protected]"]

  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速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号