抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > pyton 编写脚本检测两台主机之间的通信状态 异常邮件通知

pyton 编写脚本检测两台主机之间的通信状态 异常邮件通知

时间:2019-04-15 16:22:44

相关推荐

最近客户有一个需求要检测两台服务器之间的通信状态。要是通信是失败就需要邮件通知相关人。本来想用shell来实现,shell脚本ping 对端服务器很简单,但是shell的邮件发送比较麻烦,于是使用python实现并且用smtplib模块可以快速实现邮件的发送。

功能如下:1秒钟ping一次目标地址。代码中把你的邮箱改为自己的就可以,

代码:

#coding:utf-8importsocketimportsmtplibimportemail.MIMETextimportemail.HeaderimporttimeimportosdefsendEmail(msg,passwd='',smtpAddr=''):iftype(msg['to'])==str:tos=[msg['to']]else:tos=msg['to']m=email.MIMEText.MIMEText(msg['content'])m['to']=','.join(tos)m['From']=msg['from']m['Subject']=email.Header.Header(msg['subject'],msg['charset'])m.set_charset(msg['charset'])s=smtplib.SMTP()socket.setdefaulttimeout(16)s.connect(smtpAddr)try:ifpasswd:s.login(msg['from'].split('@')[0],passwd)returns.sendmail(msg['from'],tos,m.as_string())finally:s.close()if__name__=='__main__':whileTrue:date=time.strftime('%Y-%m-%d%H:%M:%S')ip="192.168.1.1"ping=os.system("ping-c1%s"%ip)ifping:msg={'from':'***@***.com','to':['****@'],'charset':'utf-8','subject':"Ping%sfailed."%ip,#定义邮件主题,'content':"%sPing%sfailedfrom255.252."%(date,ip)}sendEmail(msg,passwd='你的密码',smtpAddr='你的smtp服务器如:')print"Ping%sfailed,Haveemail."%ipelse:print"Ping%ssuccessful."%ipprint"Sleep1s..."time.sleep(1)

测试的邮件报警:

如果觉得《pyton 编写脚本检测两台主机之间的通信状态 异常邮件通知》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。