python3监控CentOS磁盘空间脚本


Posted in Python onJune 21, 2018

Python脚本监控CentOS磁盘空间,任何一个分区空间使用大于80%即发邮件给到指定邮箱。

monitor.py

#-*- coding: utf-8 -*- 
import socket 
import subprocess 
import smtplib 
from email.mime.text import MIMEText 
 
sender="xxx.xx@xxx.com" 
receiver= ["xxx.xx@xxx.com"] 
smtpHost="10.134.xxx.xxx" 
smtpPort="587" 
 
def get_ip(): 
  hostname = socket.getfqdn(socket.gethostname()) 
  ip = socket.gethostbyname(hostname) 
  return ip 
 
def send_mail(receiver,subject,content): 
  ip = get_ip() 
  msg = MIMEText(content,_subtype='plain',_charset='utf-8') 
  msg['Subject'] = subject 
  msg['From'] = 'CLOUD SERVER ' + ip 
  msg['To'] = ",".join(receiver) 
 
  try: 
    smtp = smtplib.SMTP(smtpHost,smtpPort) 
    #smtp.set_debuglevel(1) 
    smtp.docmd("HELO Server") 
    smtp.ehlo("ismetoad") 
    smtp.starttls() 
    smtp.helo("ismetoad") 
    smtp.sendmail(sender,receiver,msg.as_string()) 
    smtp.close() 
 
  except Exception as error: 
    print(error) 
 
def run_cmd(cmd): 
  process = subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE)   
  result_f,error_f = process.stdout,process.stderr 
  errors = error_f.read() 
  if errors: 
    pass 
  result = result_f.read().decode() 
  if result_f: 
    result_f.close() 
  if error_f: 
    error_f.close() 
  return result 
 
def disk_check(): 
  subject = '' 
  result = run_cmd(cmd) 
  content = '[root@vm-vc02-SR910 ~]# ' + cmd + '\n' + result 
  result = result.split('\n') 
  for line in result: 
    if 'G ' in line or 'M ' in line: 
      line = line.split() 
      for i in line: 
        if '%' in i and int(i.strip('%')) > 80: 
          subject = '[WARNING] SERVER FILESYSTEM USE% OVER ' + i + ', PLEASE CHECK!' 
  if subject: 
    send_mail(receiver,subject,content) 
    print('email sended') 
  else: 
    print('Everything is ok, keep on monitor.') 
               
if __name__ == '__main__': 
  cmd = 'df -h' 
  disk_check()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
王纯业的Python学习笔记 下载
Feb 10 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
Python 含参构造函数实例详解
May 25 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
python实现简单飞行棋
Feb 06 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
python接入支付宝的实例操作
Jul 20 Python
解决python打开https出现certificate verify failed的问题
Sep 03 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 Python
python实现猜单词小游戏
May 22 #Python
python2.x实现人民币转大写人民币
Jun 20 #Python
python实现猜数字小游戏
Mar 24 #Python
python实现人民币大写转换
Jun 20 #Python
python人民币小写转大写辅助工具
Jun 20 #Python
python简易远程控制单线程版
Jun 20 #Python
python通过Windows下远程控制Linux系统
Jun 20 #Python
You might like
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php Mysql日期和时间函数集合
2007/11/16 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
Javascript注入技巧
2007/06/22 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
数据库基础的一些面试题
2012/02/25 面试题
学生会招新策划书
2014/02/14 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
交通安全月活动总结
2015/05/08 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
Python 键盘事件详解
2021/11/11 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏