python指令碼 監控MySQL slave 狀態

來源:互聯網
上載者:User

標籤:gbk   import   sys.argv   insert   pass   _id   xxxxx   spl   slave   

#!/usr/bin/python
#!gbk

import os
import sys

mysqlbase = ‘/usr/bin/mysql‘
host = ‘ip‘
user = ‘root‘
passw = ‘xxxxxx‘
info = os.popen(mysqlbase+‘ -h %s -u%s -p%s -e "show slave status\G"|grep -E "Slave_IO_Running|Slave_SQL_Running|Seconds_Behind_Master|Master_Log_File|Read_Master_Log_Pos|Relay_Master_Log_File|Exec_Master_Log_Pos"‘ %(host,user,passw)).read()
info_list = info.split()
info_tup = {}
js = 0
_idx = 0
pd = len(info_list) / 2
for idx,item in enumerate(info_list):
js += 1
if js > pd:
continue
info_tup[info_list[_idx]] = info_list[_idx+1]
_idx += 2
if len(sys.argv) == 1:
print(‘your can insert python + pyname + Seconds_Behind_Master or file_pos or io_sql‘)
elif sys.argv[1] == ‘Seconds_Behind_Master‘:
if info_tup[‘Seconds_Behind_Master:‘] == ‘0‘:
print(0)
else:print(info_tup[‘Seconds_Behind_Master:‘])
elif sys.argv[1] == ‘file_pos‘:
if info_tup[‘Master_Log_File:‘] == info_tup[‘Relay_Master_Log_File:‘] and info_tup[‘Read_Master_Log_Pos:‘] == info_tup[‘Exec_Master_Log_Pos:‘]:
print(0)
else:print(5)
elif sys.argv[1] == ‘io_sql‘:
if info_tup[‘Slave_IO_Running:‘] == ‘Yes‘ or info_tup[‘Slave_SQL_Running:‘] == ‘Yes‘:
print(0)
else:print(5)

 

python指令碼 監控MySQL slave 狀態

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.