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脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
详解django中使用定时任务的方法
Sep 27 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
Python模块汇总(常用第三方库)
Oct 07 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
Python多线程多进程实例对比解析
Mar 12 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
python中threading和queue库实现多线程编程
Feb 06 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 Python
Python读写yaml文件
Mar 20 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
PHP 实现重载
2021/03/09 PHP
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python获取服务器响应cookie的实例
2018/12/28 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Django 拆分model和view的实现方法
2019/08/16 Python
详解python中eval函数的作用
2019/10/22 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
个人事迹材料范文
2014/12/29 职场文书
上下班时间调整通知
2015/04/23 职场文书
运动会通讯稿100字
2015/07/20 职场文书
认识实习感想
2015/08/10 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
vue修饰符.capture和.self的区别
2022/04/22 Vue.js