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 测试实现方法
Dec 24 Python
Windows系统下安装Python的SSH模块教程
Feb 05 Python
Python实现从订阅源下载图片的方法
Mar 11 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
Python实现图片添加文字
Nov 26 Python
Python tkinter三种布局实例详解
Jan 06 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
详解python 内存优化
Aug 17 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
pytorch 如何使用amp进行混合精度训练
May 24 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
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
PDO::errorCode讲解
2019/01/28 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
Python Deque 模块使用详解
2014/07/04 Python
python简单的函数定义和用法实例
2015/05/07 Python
使用python3实现操作串口详解
2019/01/01 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
幼儿园秋游感想
2014/03/12 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
党支部三会一课计划
2014/09/24 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
仰望星空观后感
2015/06/10 职场文书
解约证明模板
2015/06/19 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书