Linux 发邮件磁盘空间监控(python)
作者:mdxy-dxy 发布时间:2022-03-15 09:17:24
标签:python,磁盘空间监控
核心代码:
#!/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()
0
投稿
猜你喜欢
- SQL Server服务器的配置选项属于那种人们了解较少且经常误用的选项。当一个技术支持人员要求你按照某种方式调整一个选项、而另一个技术支持
- 使用了smtplib等第三方库,进行发送邮件,完成邮件报警功能如下是实例 :#!/usr/bin/pythonimport globimpo
- 关于建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢
- 有时候我不需要网络立即执行更改的数据。请问如何做到? 用下列办法即可延时执行:<%@import&
- 我想把本篇作为css基础教程的序曲,从今天开始翻译和整理我从设计网页以来所学到的css基础知识。本教程会分成N个部分,单独发表,其间可能会插
- 数据可视化的时候,常常需要将多个子图放在同一个画板上进行比较,python 的matplotlib包下的subplot可以帮助完成子功能。p
- 废话少说,直接上代码:<?php/** * Note:for octet-stream upload * 这个是流式上传PHP文件 *
- 1.经典类与新式类在了解Python的类与类型前,需要对Python的经典类(classic classes)与新式类(new-style
- 我们可用下面的代码将服务器端变量转换为客户端的JavaScrit变量:<%@ Language=VBScript
- 前言随着 Kotlin 1.4 正式发布,关于 SAM 转换的一些问题就可以盖棺定论了。因为这里要讲的都是些旧的东西,所以这是一篇灌水文。K
- MSDN:包含正在 SQL Server 实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程。 视图中主要的字段: 1. Spi
- 前言:record类型,这是一种新引用类型,而不是类或结构。record与类不同,区别在于record类型使用基于值的相等性。例如:publ
- 一. 引言在数据分析和可视化领域,数据的有效呈现是至关重要的。Python作为一种强大的编程语言,提供了多种数据可视化工具和库。其中,Plo
- 这篇博客是自己《数据挖掘与分析》课程讲到正则表达式爬虫的相关内容,主要简单介绍Python正则表达式爬虫,同时讲述常见的正则表达式分析方法,
- 一、字符串与字节数组?字符串是 Go 语言中最常用的基础数据类型之一,本质上是只读的字符型数组,虽然字符串往往都被看做是一个整体,但是实际上
- Jinja是组成Flask的模板引擎。可能你还不太了解它是干嘛的,但你对下面这些百分号和大括号肯定不陌生:{% block body %}
- 前言Python中,.whl文件是使用wheel格式存储的一种Python安装包,同时也是一个标准的内置包格式。可以将其看作Python库的
- PHP asXML()函数实例格式化 XML(版本 1.0)中的 SimpleXML 对象的数据:<?php $note=<&l
- 一、HACK以下两种方法几乎能解决现今所有HACK。1, !important 随着IE7对!important的支持, !imp
- Django功能强大不单在于他先进的编程理念,很多现有的功能模块更是可以直接拿来使用,比如这个牛掰的admin模块,可以作为一个很好的信息登