Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import os, subprocess, smtplib
- import pymysql.cursors
- from email.mime.text import MIMEText
- def send_mail(title, msg, from_addr, to_addr, cc_addrs=None):
- if not from_addr or not to_addr:
- return
- mail_title = title
- mail_body = msg
- new_mail = MIMEText(mail_body)
- new_mail["Subject"] = mail_title
- new_mail["From"] = from_addr
- new_mail["To"] = to_addr
- if cc_addrs != None:
- if isinstance(cc_addrs, str):
- new_mail["Cc"] = cc_addrs
- elif isinstance(cc_addrs, list) and cc_addrs != []:
- new_mail["Cc"] = ','.join(cc_addrs)
- smtp = smtplib.SMTP('localhost')
- smtp.send_message(new_mail)
- smtp.quit()
- def send_default_error_mail():
- send_mail(
- "Database connection check",
- "Error, please make some action to recover",
- "送信元メールアドレス",
- "送信先メールアドレス"
- )
- connection = pymysql.connect(
- host='ホスト',
- user='ユーザ名',
- password='パスワード',
- db='DB名',
- charset='utf8',
- cursorclass=pymysql.cursors.DictCursor)
- if not connection:
- send_default_error_mail()
- try:
- with connection.cursor() as cursor:
- sql = "SELECT 1=1"
- cursor.execute(sql)
- results = cursor.fetchall()
- if not results or len(results) == 0:
- send_default_error_mail()
- except:
- send_default_error_mail()
- finally:
- connection.close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement