您的当前位置:首页正文

Linux发邮件磁盘空间监控python示例

2020-11-27 来源:钮旅网

这篇文章主要介绍了Linux发邮件磁盘空间监控功能,python实现,需要的朋友可以参考下

核心代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-


import smtplib
import os
import commands,time 
from email.mime.text import MIMEText
#from email import MIMEText
disk_free=os.popen('df -lh')
list_disk=disk_free.read()
mailto_list=["2880329185@qq.com","2881280685@qq.com","2880089704@qq.com","2880329180@qq.com"]
mail_host="smtp.139.com" 
mail_user="user" 
mail_pass="password" 
mail_postfix="jljgl@.com" 
use01=commands.getstatusoutput("df -lh|awk '{print $4}'|grep '%'|awk -F '%' '{print $1}'|grep -v Use")
use02=commands.getstatusoutput("df -lh|awk '{print $5}'|grep '%'|awk -F '%' '{print $1}'|grep -v Use")
getrecord=commands.getstatusoutput("cat /home/oracle/script/mail.log|awk '{print $1}'")
gettime=commands.getstatusoutput("cat /home/oracle/script/mail.log|awk '{print $2}'")


free01=use01[1]
free02=use02[1]+'
'+use01[1]
new_time=time.strftime("%Y%m%d", time.localtime())


def send_mail(to_list,sub,content):
 me=mail_postfix
 msg = MIMEText(content,_subtype='plain',_charset='gb2312')
 msg['Subject'] = sub
 msg['From'] = me
 msg['To'] = ";".join(to_list)
 try:
 server = smtplib.SMTP()
 server.connect(mail_host)
 server.login(mail_user,mail_pass)
 server.sendmail(me, to_list, msg.as_string())
 server.close()
 return True
 except SyntaxError:
 pass
 return False
if __name__ == '__main__':
 if free02>30:
 id=0
 if new_time>gettime[1]:
 while 1:
 getrecord=commands.getstatusoutput("cat /home/oracle/script/mail.log|awk '{print $1}'")
 id=id+1
 '''
 jl=open('/home/oracle/script/dd.log')
 record=jl.read()
 '''
 line_l=str(id)+' '+new_time




 df=open('/home/oracle/script/mail.log','w')
 df.writelines(line_l)
 df.close()
 
 if send_mail(mailto_list,"hello",list_disk):
 print "发送成功"
 else:
 print "发送失败"
 if getrecord[1]>0:
 break
 else:
 line_m=str(0)+' '+new_time
 free=open('/home/oracle/script/mail.log','w')
 free.writelines(line_m)
 free.close()


更多Linux发邮件磁盘空间监控python示例相关文章请关注PHP中文网!

显示全文