时间:2021-07-01 10:21:17 帮助过:55人阅读
核心代码:
- #!/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()
更多Linux发邮件磁盘空间监控python示例相关文章请关注PHP中文网!