mysql主从检测_Mysql主从检测脚本

#!/usr/bin/env python

#Kiss Python

#*/10 * * * * /usr/bin/python /root/checkslave.py

import MySQLdb

import time

import paramiko

###############################################

#                 slavelist                                                                     #

#                                                                                                   #

#    IPS:Username:Password:                                                        #

#    172.16.13.61:zabbix:zabbix:                                                    #

#    172.16.13.192:zabbix:zabbix:                                                  #

#                                                                                                    #

###############################################

mailcontact = 'weiyiqiang_v@ziroom.com','18701669895@139.com'

mobilecontact = '18701669895'

checkslave = open('slavelist')

checklog = open('slave.log','a')

def checksql(host,user,password):

conn=MySQLdb.connect(host=host,user=user,passwd=password)

cur=conn.cursor(MySQLdb.cursors.DictCursor)

cur.execute("show slave status;")

sql=cur.fetchall()

cur.close()

checklog.write(str(time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time())))+"  ")

if sql[0]['Slave_IO_Running'] == 'Yes' and sql[0]['Slave_SQL_Running'] == 'Yes':

checklog.write(str(host) + "\t" + " Check DBSlave OK !" + "\n")

else:

connect = paramiko.SSHClient()

connect.set_missing_host_key_policy(paramiko.AutoAddPolicy())

connect.connect('172.16.5.114', 22, username='root', password='ziroom1701R&D', timeout=6)

stdin, stdout, stderr = connect.exec_command('printf "%s ZraDBSlave Error !\n\nMaster_Host: %s\nSlave_IO_Running: %s\n\

Slave_SQL_Running: %s"| mail -s "ZraDBSlave Error" %s'\

% (host,sql[0]['Master_Host'],sql[0]['Slave_IO_Running'],sql[0]['Slave_SQL_Running'],mailcontact))

stdin, stdout, stderr = connect.exec_command('cd /home/weiyiqiang/fetion;LD_LIBRARY_PATH=. ./fetion --mobile=18701669895 \

--pwd=password--to=%s --msg-utf8="ZraDBSlave Error!\n\nMaster_Host: %s\nSlave_IO_Running: %s\nSlave_SQL_Running: %s"' \

% (mobilecontact,sql[0]['Master_Host'],sql[0]['Slave_IO_Running'],sql[0]['Slave_SQL_Running']))

connect.close()

checklog.write(str(host) + "\t" +" Check DBSlave Error Send Message to  %s !" % mobilecontact + "\n")

for line in checkslave:

ip = str(line.split(':')[0])

username = str(line.split(':')[1])

password = str(line.split(':')[2])

checksql(ip,username,password)

checklog.close()

checkslave.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值