获取从库健康状态脚本
#!/usr/bin/env python # -*- coding:utf-8 -*- #version 1.0 #2016-07-05 #get slave db status import csv import MySQLdb #从库ip组 ip_array = [ '10.81.2.72', '10.81.2.73', '10.81.2.74', '10.81.2.75', '10.81.2.76', '10.81.2.77', '10.81.2.78', '10.81.2.79', '10.81.2.80' ] #mysql类 class My: user='' passwd='' host='' def __init__(self,user,passwd,host): self.user=user self.passwd=passwd self.host=host def connectDB(self): self.conn=MySQLdb.connect(user=self.user,host=self.host,passwd=self.passwd) #print self.conn self.cur=self.conn.cursor() #print self.cur def executeDB(self,sql): self.cur.execute(sql) return self.cur.fetchall() def __del__(self): self.conn.close() print "成功析构" if __name__ == '__main__': csv_array=[] title_array = ['SLAVE','MASTER','BINLOG_SYNC','BINLOG_RUN','BINGLOG_DELAY'] # 遍历获取slave状态,写入数组 for ip in ip_array: db = My('user','aGVpdGFvY2FjdGkK',ip) db.connectDB() sql='show slave status' result = db.executeDB(sql) csv_array.append([ip,result[0][1],result[0][10],result[0][11],result[0][-6]]) #print csv_array # 根据数组数据生成表格文件 writer = csv.writer(file('slave_status.csv', 'wb')) writer.writerow(title_array) for stat in csv_array: writer.writerow(stat)
查看执行结果
# cat slave_status.csv SLAVE,MASTER,BINLOG_SYNC,BINLOG_RUN,BINGLOG_DELAY 10.81.2.72,10.81.2.15,Yes,Yes,27294 10.81.2.73,10.81.2.16,Yes,Yes,29005 10.81.2.74,10.81.2.17,Yes,Yes,36271 10.81.2.75,10.81.2.18,Yes,Yes,30712 10.81.2.76,10.81.2.11,Yes,Yes,0 10.81.2.77,10.81.2.12,Yes,Yes,0 10.81.2.78,10.81.2.13,Yes,Yes,0 10.81.2.79,10.81.2.14,Yes,Yes,0 10.81.2.80,10.81.2.27,Yes,Yes,0