crontab + sendmail.py 脚本实现对服务器的空间使用情况监控,代码拙劣,凑合看吧。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

import datetime

import re

from optparse import OptionParser

from email.mime.application import MIMEApplication

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import smtplib

import time

import pdb

import sys

import os

import commands

reload(sys)

sys.setdefaultencoding('utf8')

def mail_sender(mto=None,output=None,used=None):

"""send mail"""

mime_obj = MIMEMultipart()

#subject 为邮件主题,这部分内容可以自由编辑,注意拼接格式

subject="【!!!已使用" + used + "%!!!】-171服务器 " + time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

#body_txt为邮件正文,可根据需求做改动

body_txt="\n" + "\n" + "\t" + "171服务器使用情况" + "\n" + "\n" + "文件系统 容量 已用 可用 已用% 挂载点" + "\n" + output + "\n" + "\t" + "\n\n\n\n\n\nBest Regads\n---------------------\nIT组"

if body_txt is not None:

body = MIMEText(body_txt,'plain', 'utf-8')

mime_obj.attach(body)

mime_obj['to'] = mto

#邮件的发送者,可随意编写

mime_obj['from'] = "IT_Admin@xxx.xx"

mime_obj['subject'] = subject

try:

server = smtplib.SMTP()#选择邮件服务器的方式

server.connect('smtp.xxxx.cn')#连接的发送服务器的地址

server.login('xxxxxx@xxxxxx','xxxxx')#给一个带有密码的账号,这样后续的邮件都是以此账号发送出去的,用户看到的名字为上from声明处内容

server.sendmail(mime_obj['from'], mime_obj['to'],mime_obj.as_string())

server.quit()

print '发送成功'

return 0

except Exception, e:

print str(e)

return 1

if __name__ == '__main__':

#使用df -h 命令获取服务器使用情况

cmd="df -h |grep ^/"

output=commands.getstatusoutput(cmd)

output=output[1]

#获取根目录使用情况

cmd_used="df -h |grep ' /$'|awk '{print $5}' |sed 's/%//g'"

output_used=commands.getstatusoutput(cmd_used)

output_used=output_used[1]

#如果根目录使用超过90%就发送邮件通知,发送人这里可以配置,90%也可以根据需求修改

if int(output_used) > 95:

mail_sender(mto="xxxxxxx@xxx",output=output,used=output_used)

python提醒事件_监控服务器空间使用情况-crontab+python邮件提醒相关推荐

  1. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  2. ios 添加日历提醒事件_将日历提醒事件添加到网页

    ios 添加日历提醒事件 Publicizing real-world events on web pages is a great idea, but it assumes that readers ...

  3. ios手机python编译器免费_适用与IOS手机的python编辑器,让你不限空间,地点都能玩转pyhton代码 !...

    前言 现在越来越多人学习python,很多小伙伴都富有激情的,利用碎片化的时间都要学习,小编不得不佩服你们,大家都知道pyhton是简单易学的,但是光说不练,假把式,最好能编程并且运行,最好能有一款神 ...

  4. python 面试问题_值得阅读的30个Python面试问题

    python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...

  5. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  6. python zope 工作流_使用C语言来扩展Python程序和Zope服务器的教程

    有几个原因使您可能想用 C 扩展 Zope.最可能的是您有一个已能帮您做些事的现成的 C 库,但是您对把它转换成 Python 却不感兴趣.此外,由于 Python 是解释性语言,所以任何被大量调用的 ...

  7. go还是python 知乎_知乎用Go替代Python

    说不上哪个语言会比另一个语言更好.只能说某个语言在某个方面处理某些问题更具有优势吧. 大概每个开发人员应该都会认为自己使用的语言是世界最好的语言吧.这都相对来说的.对于每个人应该都是不同的. 众所周知 ...

  8. python 儿童 游戏_防止孩子玩游戏的Python小程序

    今天小编就带领大家来做一个防止孩子玩游戏的Python小程序.非常有趣,大家快来跟我一下看一下吧. 1查询电脑的所有进程 用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图 ...

  9. python任务栏通知区域_Python之Bilibili自动更新邮件提醒并任务栏图标

    前言 本次分享的是经过多日编写的关于自动检测B站Up主视频更新情况,并发送邮件提醒更新的Python程序,代码不专业.部分代码段借鉴网上,仅供参考娱乐! 用到的库 selenium._thread.s ...

最新文章

  1. udacity模型优缺点
  2. 关于Qt Designer程序/UI文件打开未响应的解决方法
  3. cocos2d-x学习笔记16:记录存储1:CCUserDefault
  4. 计算机屏幕显示电缆借口,电脑关机后显示器显示请检查电缆接口怎么办成功解决...
  5. VS2008的C++TR1库已经支持正则表达式
  6. nlog自定义文件名
  7. Go 语言为什么能成功?
  8. python如何使用本地数据库_使用Python在虚拟机上怎么连接本地数据库
  9. 简单的form表单文件上传
  10. Fix: Send-Mail: Warning: Inet_protocols: IPv6 Support Is Disabled
  11. 有窗体的闭合导线计算程序(C#)
  12. 弱电工程项目管理软件
  13. 硬件工程师有没有35岁危机?
  14. 有保证的复制消除(Guaranteed Copy Elision)
  15. Bluecms代码审计
  16. 手机信号上的G、E、O、3G、H、H+是什么意思?
  17. OpenMARI 开源指标体系和效能提升指南之GQM从入门到精通
  18. 郑州大学研究生计算机专业分数线,2019郑州大学研究生分数线(含2016-2019历年复试)...
  19. Python彩色图片转手绘风格
  20. winwebmail设置 小记

热门文章

  1. 【算法】剑指 Offer 12. 矩阵中的路径
  2. 【clickhouse】Clickhouse 版本号历史
  3. 【zookeeper】zookeeper 查看ZK连接总数
  4. 【Spring】Spring boot 可以通过集成jolokia来使用HTTP形式访问mbean
  5. 10-20-010-简介-目录-Kylin目录详解
  6. 【Maven】IDEA 创建Spring Boot项目出现 maven-wrapper
  7. ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
  8. 【Sentry】为什么Cloudera要创建Hadoop安全组件Sentry?
  9. 哔哩哔哩校招末班车,offer爆率超高,来不及解释了,快上车!
  10. 5年外包码农,拿到阿里offer,成功上岸,凭什么?