Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > Python与其他语言

python3监控CentOS磁盘空间脚本

来源:中文源码网    浏览:206 次    日期:2024-04-17 06:12:45
【下载文档:  python3监控CentOS磁盘空间脚本.txt 】


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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

相关内容