45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样通过Linux发邮件磁盘空间监控?

怎么样通过Linux发邮件磁盘空间监控?

2016-07-19 13:01:44 来源:www.45fan.com 【

怎么样通过Linux发邮件磁盘空间监控?

核心代码:

#!/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]+'\n'+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()

本文地址:http://www.45fan.com/a/question/58704.html
Tags: linux 邮件 磁盘
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部