发布时间:2019-08-30 08:26:48编辑:auto阅读(1625)
探测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 快速入门笔记
47613
46001
36917
34482
29091
25733
24575
19720
19258
17762
5577°
6163°
5697°
5752°
6713°
5493°
5497°
5997°
5971°
7302°