使用python3怎么监控CentOS磁盘空间
今天就跟大家聊聊有关使用python3怎么监控CentOS磁盘空间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
python的五大特点是什么
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(*/开放源码软件)之一。
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()
看完上述内容,你们对使用python3怎么监控CentOS磁盘空间有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。