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正则表达式re模块详解
Jun 25 Python
python中的代码编码格式转换问题
Jun 10 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
python_mask_array的用法
Feb 18 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
如何用tempfile库创建python进程中的临时文件
Jan 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
PHP实现网上点歌(二)
2006/10/09 PHP
isset和empty的区别
2007/01/15 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
python实现的分层随机抽样案例
2020/02/25 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
大学生个人简历中的自我评价
2013/12/27 职场文书
岗位职责风险防控
2014/02/18 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
实习报告范文
2019/07/30 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Django一小时写出账号密码管理系统
2021/04/29 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏