#!/usr/bin/python
#coding:utf-8
'''注释
  added by tophorse in 2017.10.17
  description:监听MySql主从同步状态
''' 

import MySQLdb
import argparse

try:
  if  __name__=="__main__":
    #声明参数
    parser = argparse.ArgumentParser(description='监控MySql主从同步状态\n使用方法:/data/share/mysqlslave.py 121.222.333.11 3306 root 123456')
    parser.add_argument('server',action="store",help='指定服务器,格式:IP或域名')
    parser.add_argument('port',action="store",help='指定端口,格式:3306')
    parser.add_argument('user',action="store",help='登录用户名,格式:root')
    parser.add_argument('password',action="store",help='登录密码,格式:123456')
    args = parser.parse_args()
    server=str(args.server)
    port=int(args.port)
    user=str(args.user)
    password=str(args.password)
    #数据库操作
    conn= MySQLdb.connect(host=server, port=port, user=user, passwd=password, db ='', )
    cur = conn.cursor()
    #获得表中有多少条数据
    aa=cur.execute("show slave status")
    #print aa
    #打印表中的多少数据
    info = cur.fetchmany(aa)
    for ii in info:
      if ii[10]=='Yes' and ii[11]=='Yes':
        print 1
      else:
        print 0
      #执行一次就跳出
      break
    cur.close()
    conn.commit()
    conn.close()
    #os.system("mysql -h "+server+" -u "+user+" -p'"+password+"' -P "+port+" -e 'show slave status\G' |grep -E 'Slave_IO_Running|Slave_SQL_Running'|awk '{print $2}'|grep -c Yes");
    #print 1
except Exception,e:
  #print str(e)
  print 0
