发布时间:2019-08-30 08:26:48编辑:auto阅读(1843)
探测MySQL主从状态,如果从未同步,则发邮件通知运维人员。利用定时任务秒级监测!
# -*- coding: utf-8 -* #! /usr/bin/env python from fabric.api import * from fabric.colors import * from fabric.context_managers import * from fabric.contrib.console import confirm import string import smtplib #client ip env.port='9527' env.user='dyt' env.hosts=['192.168.129.138','192.168.129.139'] env.password='dyt2015' #env.mysql_port = '3306' @task def check(): slave_ip = run("ip add|grep global") for ip in env.hosts: if ip in slave_ip: slave_ip = ip slave_io = run("mysql -uroot -S /tmp/mysql_3306.sock -e 'show slave status\G'|grep Slave_IO_Running:|awk '{print $2}'") slave_sql = run("mysql -uroot -S /tmp/mysql_3306.sock -e 'show slave status\G'|grep Slave_SQL_Running:|awk '{print $2}'") if slave_io == 'Yes' and slave_sql == 'Yes': pass else: HOST = "smtp.qq.com" SUBJECT = "MySQL Master-Slave Warning . " TO = "test@qq.com" FROM = "test@qq.com" text = "%-20s MySQL Master-Slave status : down" % slave_ip BODY = string.join(( "From: %s" % FROM, "To: %s" % TO, "Subject: %s" % SUBJECT , "", text ), "\r\n") server = smtplib.SMTP() server.connect(HOST,"25") server.starttls() server.login("test@qq.com","password") server.sendmail(FROM, [TO], BODY) server.quit()
上一篇: python if语句
下一篇: 【机器学习】Python 快速入门笔记
50053
49309
39971
37012
31406
28247
27204
21995
21954
20280
413°
305°
288°
468°
452°
1066°
1996°
1852°
1471°
2977°