python通过端口连接和邮件发送实现简单的自动运维(二)

      上一篇只是监测了服务器上的服务端口还占用的,后来出现了硬盘存储不够的情况,最后某个服务器的服务都出现问题。这就我就想在原来的基础上加上硬盘存储的判断,通过“du -h”的linux命令查看研盘存储情况,再通过正则表达式完成这个需求

引入的模块:

import paramiko
import re

paramikio这个模块,自带的python默认没有安排,通过pip install paramikio 完成安装。

硬盘存储查询:

#运程服务器存储情况
def get_used():
    #引用模块
	ssh = paramiko.SSHClient()
	ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    #远程连接ip,端口,用户名,密码
	ssh.connect('192.168.0.212',22,'hk','****')
    #在远程服务器的输入df -h的命令
	stdin,stdout,stder = ssh.exec_command('df -h')
	if out_menory((stdout.read()).decode())==True:
		print ("out of menory")
		return True
	else:
		print ("menory is enough")
		return False
    #远程关闭
	ssh.close()

 

正则表达式判断硬盘情况:

#判断存储情况
def out_menory(reg_str):
	#正则表示法,获得各目录下存储占用情况
	rr = re.compile('\d{0,1}\d%')
	print (reg_str)
	menory_mun=rr.findall(reg_str)

	#判断存储占用,是否超过相关比例
	is_out_of_menory=False
	for result_men in menory_mun:
		if float(result_men.strip('%'))>80:
			is_out_of_menory=True
	return is_out_of_menory

全部源码下载地址 http://download.csdn.net/download/shirenkan/11992399

    原文作者:司马沉潇
    原文地址: https://blog.csdn.net/shirenkan/article/details/103213850
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞