| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 
 | 
 import MySQLdb
 import time
 import mail163
 
 now=time.strftime("%Y/%m/%d-%H:%M:%S",time.localtime())
 
 class Mydb(object):
 def __init__ (self,host,user,port,passwd,sock):
 self.host=host
 self.user=user
 self.port=port
 self.passwd=passwd
 self.sock=sock
 try:
 self.db=MySQLdb.connect(host=self.host,user=self.user,port=self.port,passwd=self.passwd,unix_socket=self.sock)
 except:
 print "cann't connect to mysql server %s %s "%(self.host,self.port)
 else:
 self.cursor=self.db.cursor()
 def get_slave(self):
 self.cursor.execute(' show slave status ;')
 slave=self.cursor.fetchall()
 return slave
 def check_status (self):
 slave=self.get_slave()
 if (slave[0])[10]!='Yes' or (slave[0])[11]!='Yes':
 return 'stop'
 else:
 return 'running'
 def close(self):
 self.cursor.close()
 def main ():
 db=Mydb('localhost','root',3306,'JD#mysql87##','/var/lib/mysql/mysql.sock')
 status=db.check_status()
 print status
 if status=='stop':
 mail163.mail('64.88 slave down at %s'%(now))
 db.close()
 if __name__=='__main__':
 main()
 
 |