python2怎么监控多源复制状态并发邮件
admin
2023-03-09 22:22:33
0

我们环境中用到了多源复制,因此写个查看状态的Python脚本,python为系统中自带的2.6.6,邮件内容为html格式,隔行变色,脚本如下:

# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import datetime
import MySQLdb
date_end = datetime.date.today()
html_part1 = """

  
  

Report of 10.10.100.10 multi source repl status {current_time}

                                           Master_Host                 Slave_IO_Running                 Slave_SQL_Running                 Seconds_Behind_Master                 Channel_Name              """.format(current_time=date_end) html_part2 = """    """ td_bgcolor_num = 1 db = MySQLdb.connect("10.10.100.10","mysqldba","mysql-dba-168" ) cursor = db.cursor() cursor.execute("show slave status") results = cursor.fetchall() with open('/tmp/slavesof10010.html',mode='w') as f:     f.write(html_part1)     for row in results:         Master_Host = row[1]         Slave_IO_Running = row[10]         Slave_SQL_Running = row[11]         Seconds_Behind_Master = row[32]         Channel_Name = row[-2]         if td_bgcolor_num%2==0:             td_bgcolor='#F0F0F0'         else:             td_bgcolor='#FFFFCE'         td_bgcolor_num += 1         pro = '''                      '''+ row[1].encode('utf-8','ignore') + "" + '''             '''+ row[10].encode('utf-8','ignore') + "" + '''             '''+ row[11].encode('utf-8','ignore') + "" + '''             '''+ str(row[32]) + "" + '''             '''+ Channel_Name + '''                  '''         f.write(pro)     f.write(html_part2) db.close() mail_host="smtp.xxxx.com" sender = 'devops@xxxx.com' receivers = ['devops@xxxx.com','123456789@qq.com','126@126.com','163@163.com'] with open('/tmp/slavesof10010.html',mode='r') as f:     html=f.read() message = MIMEText(html, 'html') message['From'] = Header("devops@xxxx.com") message['To'] = Header(";".join(v for v in receivers)) subject = 'multi-source-repl of 100.10汇总' message['Subject'] = Header(subject, 'utf-8') try:     smtpObj = smtplib.SMTP()     smtpObj.connect(mail_host, 25)    # 25 为 SMTP 端口号     smtpObj.sendmail(sender, receivers, message.as_string())     print "邮件发送成功" except smtplib.SMTPException as e:     print "Error: 无法发送邮件",     print e

计划任务

00 09 * * * python /server/scripts/get_html_10010.py &> /dev/null

相关内容

热门资讯

直击台风“红霞”登陆:楼在动,... 7月26日凌晨4时,惠东县小径湾。记者此刻正在一栋临海高层楼房的客厅里,双腿微微发颤——不是因为冷,...
人民日报:查处携程垄断案释放反... 林丽鹂 《人民日报》(2026年07月26日 第02版)携程垄断案的查处是平台经济反垄断常态化监管的...
以总理计划向特朗普递交伊朗情报 △以色列总理内塔尼亚胡(资料图)当地时间7月25日,总台记者自以色列方面获悉,以总理内塔尼亚胡及其访...
原创 手... 以前购买的手机想要用3天不充电,基本上是不可能的,但这两年手机电池技术有大突破,非重度使用的情况下,...
咪咕数媒亮相第34届全国图书交... 潮新闻客户端 记者 王景平 7月24日,第34届全国图书交易博览会盛大举办。作为数字文化领域的核心央...
王兴兴和他的机甲机器人登上《时... 当地时间7月23日,宇树科技创始人兼首席执行官王兴兴与该公司突破性的载人机甲机器人GD01共同登上美...
APEC论坛聚焦亚太人工智能普... 这是7月23日在成都街头拍摄的会议主题装置。当日,2026年亚太经合组织(APEC)数字和人工智能部...
菲尔兹奖得主王虹4岁不慎烫伤,... 中国数学家王虹、邓煜获得菲尔兹奖,这是中国籍数学家首次获得这一奖项。王虹1991年出生在广西桂林平乐...
美媒:特朗普下令暂停空袭伊朗 美国“Axios”新闻网7月25日援引知情人士报道,特朗普24日指示美军不得对伊朗发动新的打击,打破...
法国野火“创历史纪录”:政坛吵... 综合法媒BFM新闻台、《费加罗报》报道,当地时间7月25日中午,内政部长努内兹(Laurent Nu...