首页 > 其他 > 详细

检查version,发送邮件

时间:2018-01-23 14:14:36      阅读:264      评论:0      收藏:0      [点我收藏+]
#-*-coding:utf-8 -*- #!/usr/bin/python import sys reload(sys) sys.setdefaultencoding(‘utf-8‘) import MySQLdb import houtai_dbname import paramiko from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.text import MIMEText import smtplib #第三方服务smtp mail_host=‘smtp.yeah.net‘ mail_user=‘xxxxx‘ mail_pass=‘xxxxx‘ mail_postfix= ‘yeah.net‘ receivers=‘xxxxx@sina.com‘ def get_version(checkver,plname): stri=" " checkver=checkver print plname global conn defdb=houtai_dbname.check_plname(plname) try: cur=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor) conn.select_db(defdb) sql=‘SELECT ip,gameport,zoneName from serverinfo where pf=\‘%s\‘ and zoneid<8000 ORDER BY zoneid‘ % plname cur.execute(sql) result = cur.fetchall() cur.close() except MySQLdb.Error,e: print "MySQL Error %d:%s" % (e.args[0],e.args[1]) #print e for i in result: ip=i["ip"] port=i["gameport"] zonename=i["zoneName"] print "%s:%s" % (ip,port) sshport=22 pkey_file =‘/root/.ssh/id_rsa‘ user=‘root‘ key=paramiko.RSAKey.from_private_key_file(pkey_file) cmd="tail -n 1 /usr/jyserver/%s/server/bin/version" % port s=paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(ip,sshport,user,pkey=key,timeout=5) stdin,stdout,stderr=s.exec_command(cmd) cmd_result=stdout.read() print cmd_result if str(cmd_result) != checkver: stri=stri+"%s %s %s %s not rigth \n " % (plname,zonename,ip,port) print stri return stri def send_mail(mail_to,subject,content): me = mail_user+"<"+mail_user+"@"+mail_postfix+">" #邮件发送方 message = MIMEText(content, ‘plain‘, ‘utf-8‘) #邮件内容 message["Accept-Language"]="zh-CN" #中文 message["Accept-Charset"]="ISO-8859-1,utf-8" message[‘subject‘] = subject #邮件标题 message[‘from‘] = me #发送方 message[‘to‘] = receivers #接收方 try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host) #连接smtp smtpObj.login(mail_user,mail_pass) #登录 smtpObj.sendmail(me,receivers, message.as_string()) #获取参数发送邮件 smtpObj.close() #关闭 print "邮件发送成功" except Exception,e: print "ERROR,无法发送邮件" print e if __name__=="__main__": alls="" dic=houtai_dbname.houtaidic for i in dic: print i,dic[i] plname=i conn = MySQLdb.connect(host="%s" % dic[i],user=‘xxxxx‘,passwd=‘xxxxxxx‘,port=3306,charset=‘utf8‘) alls=alls+get_version(str(sys.argv[1]).lstrip().rstrip(),plname)+ "," #print alls send_mail(‘xxxxxx@sina.com‘,‘platfrom version check‘,alls)

检查version,发送邮件

原文:http://blog.51cto.com/yzg784534398/2064209

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!