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脚本实现下载合并SAE日志
Feb 10 Python
Python使用multiprocessing创建进程的方法
Jun 04 Python
详解在Python的Django框架中创建模板库的方法
Jul 20 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
Python部署web开发程序的几种方法
May 05 Python
详谈python read readline readlines的区别
Sep 22 Python
Scrapy框架使用的基本知识
Oct 21 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
python实现udp聊天窗口
Mar 31 Python
Python连接mysql方法及常用参数
Sep 01 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 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/11/23 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
vue实现选中效果
2020/10/07 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
对于Python中RawString的理解介绍
2016/07/07 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
Python socket模块方法实现详解
2019/11/05 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
python scatter函数用法实例详解
2020/02/11 Python
python实现udp聊天窗口
2020/03/31 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
捐赠仪式主持词
2014/03/19 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
长城的导游词
2015/01/30 职场文书
村官2015年度工作总结
2015/10/14 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python