当前位置: 移动技术网 > IT编程>脚本编程>Python > python3监控CentOS磁盘空间脚本

python3监控CentOS磁盘空间脚本

2018年08月18日  | 移动技术网IT编程  | 我要评论

凤凰卫视节目表,死亡岛激流无法存档,太阳能节能路灯

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() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网