python3监控CentOS磁盘空间脚本
更新时间:2018年06月21日 08:31:26 作者:wawa8899
这篇文章主要为大家详细介绍了Python3监控CentOS磁盘空间脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
pycharm 2021.3最新激活码有效期至2100年(亲测可用)
这篇文章主要介绍了pycharm 2021.3最新激活码有效期至2100年(亲测可用)2021-02-02python实现字典(dict)和字符串(string)的相互转换方法
这篇文章主要介绍了python实现字典(dict)和字符串(string)的相互转换方法,涉及Python字典dict的遍历与字符串转换相关操作技巧,需要的朋友可以参考下2017-03-03django foreignkey外键使用的例子 相当于left join
今天小编就为大家分享一篇django foreignkey外键使用的例子 相当于left join,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08已安装Pytorch却提示no moudle named 'torch'(没有名称为torch
这篇文章主要给大家介绍了关于已安装Pytorch却提示no moudle named 'torch'(没有名称为torch的模块)的相关资料,当提示"No module named 'torch'"时,可能是由于安装的Pytorch版本与当前环境不匹配导致的,需要的朋友可以参考下2023-11-11
最新评论