本篇內容主要講解“python2怎么監(jiān)控多源復制狀態(tài)并發(fā)郵件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python2怎么監(jiān)控多源復制狀態(tài)并發(fā)郵件”吧!
創(chuàng)新互聯專業(yè)
網站設計制作、成都網站制作,集網站策劃、網站設計、網站制作于一體,網站seo、網站優(yōu)化、網站營銷、
軟文發(fā)布平臺等專業(yè)人才根據搜索規(guī)律編程設計,讓網站在運行后,在搜索中有好的表現,專業(yè)設計制作為您帶來效益的網站!讓網站建設為您創(chuàng)造效益。
我們環(huán)境中用到了多源復制,因此寫個查看狀態(tài)的Python腳本,python為系統中自帶的2.6.6,郵件內容為html格式,隔行變色,腳本如下:
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import datetime
import MySQLdb
date_end = datetime.date.today()
html_part1 = """
Report of 10.10.100.10 multi source repl status {current_time}
Master_Host |
Slave_IO_Running |
Slave_SQL_Running |
Seconds_Behind_Master |
Channel_Name |
""".format(current_time=date_end)
html_part2 = """
"""
td_bgcolor_num = 1
db = MySQLdb.connect("10.10.100.10","mysqldba","mysql-dba-168" )
cursor = db.cursor()
cursor.execute("show slave status")
results = cursor.fetchall()
with open('/tmp/slavesof10010.html',mode='w') as f:
f.write(html_part1)
for row in results:
Master_Host = row[1]
Slave_IO_Running = row[10]
Slave_SQL_Running = row[11]
Seconds_Behind_Master = row[32]
Channel_Name = row[-2]
if td_bgcolor_num%2==0:
td_bgcolor='#F0F0F0'
else:
td_bgcolor='#FFFFCE'
td_bgcolor_num += 1
pro = '''
'''+ row[1].encode('utf-8','ignore') + " | " + '''
'''+ row[10].encode('utf-8','ignore') + " | " + '''
'''+ row[11].encode('utf-8','ignore') + " | " + '''
'''+ str(row[32]) + " | " + '''
'''+ Channel_Name + ''' |
'''
f.write(pro)
f.write(html_part2)
db.close()
mail_host="smtp.xxxx.com"
sender = 'devops@xxxx.com'
receivers = ['devops@xxxx.com','123456789@qq.com','126@126.com','163@163.com']
with open('/tmp/slavesof10010.html',mode='r') as f:
html=f.read()
message = MIMEText(html, 'html')
message['From'] = Header("devops@xxxx.com")
message['To'] = Header(";".join(v for v in receivers))
subject = 'multi-source-repl of 100.10匯總'
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 為 SMTP 端口號
smtpObj.sendmail(sender, receivers, message.as_string())
print "郵件發(fā)送成功"
except smtplib.SMTPException as e:
print "Error: 無法發(fā)送郵件",
print e計劃任務
00 09 * * * python /server/scripts/get_html_10010.py &> /dev/null
到此,相信大家對“python2怎么監(jiān)控多源復制狀態(tài)并發(fā)郵件”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
名稱欄目:python2怎么監(jiān)控多源復制狀態(tài)并發(fā)郵件-創(chuàng)新互聯
URL網址:http://weahome.cn/article/djdeic.html
-
在線咨詢
微信咨詢
電話咨詢
-
028-86922220(工作日)
18980820575(7×24)
-
提交需求
-
返回頂部