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构建Hopfield网络的教程
Apr 14 Python
python实现通过代理服务器访问远程url的方法
Apr 29 Python
利用Python的Django框架生成PDF文件的教程
Jul 22 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Python零基础入门学习之输入与输出
Apr 03 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
Aug 26 Python
Python函数式编程实例详解
Jan 17 Python
django API 中接口的互相调用实例
Apr 01 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
深入浅析Python代码规范性检测
Jul 31 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 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:风雨欲来 路在何方?
2006/10/09 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
PHP积分兑换接口实例
2015/02/09 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python从ftp下载数据保存实例
2013/11/20 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python实现比较文件内容异同
2018/06/22 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Pycharm安装python库的方法
2020/11/24 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
留学生如何写好自荐信
2013/12/27 职场文书
化学实验员岗位职责
2013/12/28 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
表彰先进的通报
2014/01/31 职场文书
工程项目经理任命书
2014/06/05 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers