python檢測mysql狀態指令碼--參考

來源:互聯網
上載者:User

標籤:python

#!/usr/bin/env python#encoding:utf-8import MySQLdbimport paramiko import sys,osfrom email.mime.text import MIMETextfrom email.header import Headerimport smtplibdb1_ip="172.17.2.51"db2_ip="172.17.2.52"num = ‘‘mmm_info = ‘‘IoS = ‘‘SqS = ‘‘Sec = ‘‘e = ‘‘def db_info(ip):  global IoS  global SqS  global Sec  global e  try:    conn = MySQLdb.connect(host=ip,user=‘test‘,passwd=‘123456‘,port=7000,charset=‘utf8‘)    cur = conn.cursor()    cur.execute(‘show slave status‘)    for n in cur.fetchall():      IoS=n[10]      SqS=n[11]      Sec=n[32]    cur.close()    conn.close()  except MySQLdb.Error,e:    print "MySQLdb Error",e    def send_mail(INFO):  to = "[email protected]"  user = "[email protected]"  passwd = "xxxxxx"  subject = ‘遼寧移動企業通訊錄資料庫故障警告‘  mail_host = "smtp.feinno.com"  port = ‘587‘  content=INFO  msg = MIMEText(content,_subtype=‘plain‘,_charset=‘utf-8‘)  msg[‘To‘] = to  msg[‘from‘] = user  msg[‘Subject‘] = Header(subject, ‘utf-8‘)  s = smtplib.SMTP()  s.connect(mail_host,port)  s.login(user,passwd)  s.sendmail(user,to,msg.as_string())  s.close()  def mmm_status():  global num  global mmm_info  host=db2_ip  user=‘root‘  password=‘xxxxxx‘  cmd=‘mmm_control show‘  s = paramiko.SSHClient()   s.load_system_host_keys()   s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  s.connect(host,22,user,password,timeout=1)   stdin,stdout,stderr = s.exec_command(cmd)  cmd_result = stdout.read(),stderr.read()  mmm_info=str(list(cmd_result)[0]) def run(IP):  mmm_status()  db_info(IP)  if e == "":    if IoS != "Yes" or SqS != "Yes":      DB_info=‘%s replicaiton error! \nSlave_IO_Running:%s\nSlave_SQL_Running:%s\nSeconds_Behind_Master:%s\n‘‘\n%s‘ %(IP,IoS,SqS,Sec,mmm_info)        send_mail(DB_info)  else:    DB_info=‘%s mysql_db is not ok ,info:%s‘ %(IP,e)    send_mail(DB_info)        run(db1_ip)run(db2_ip)

本文出自 “Chocolee” 部落格,請務必保留此出處http://chocolee.blog.51cto.com/8158455/1586748

python檢測mysql狀態指令碼--參考

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.