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解析json实例方法
Nov 19 Python
python迭代器实例简析
Sep 25 Python
Python中关于字符串对象的一些基础知识
Apr 08 Python
pygame播放音乐的方法
May 19 Python
Python按行读取文件的简单实现方法
Jun 22 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
新手入门Python编程的8个实用建议
Jul 12 Python
python支付宝支付示例详解
Aug 22 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 Python
Python中logging日志库实例详解
Feb 19 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
php 静态化实现代码
2009/03/20 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
python opencv实现证件照换底功能
2019/08/19 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
python调用win32接口进行截图的示例
2020/11/11 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
初中军训感想300字
2014/03/05 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
企业2014年度工作总结
2014/12/10 职场文书
布达拉宫导游词
2015/02/02 职场文书
云冈石窟导游词
2015/02/04 职场文书
高效课堂教学反思
2016/02/24 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python