Linux 发邮件磁盘空间监控(python)


Posted in Python onApril 23, 2016

核心代码:

#!/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()
Python 相关文章推荐
Python天气预报采集器实现代码(网页爬虫)
Oct 07 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python numpy 点数组去重的实例
Apr 18 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
Python文件读写常见用法总结
Feb 22 Python
Django如何防止定时任务并发浅析
May 14 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
基于Python快速处理PDF表格数据
Jun 03 Python
10个示例带你掌握python中的元组
Nov 23 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 Python
web.py 十分钟创建简易博客实现代码
Apr 22 #Python
在windows下快速搭建web.py开发框架方法
Apr 22 #Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 #Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 #Python
Django小白教程之Django用户注册与登录
Apr 22 #Python
python中PIL安装简单教程
Apr 21 #Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 #Python
You might like
世界收音机发展史
2021/03/01 无线电
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
类之Prototype.js学习
2007/06/13 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
vue-router 按需加载 component: () => import() 报错的解决
2020/09/22 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
python实现可逆简单的加密算法
2019/03/22 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
中科前程Java笔试题
2016/11/20 面试题
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
趣味运动会活动方案
2014/02/12 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis
Java 数据结构七大排序使用分析
2022/04/02 Java/Android