上一篇只是监测了服务器上的服务端口还占用的,后来出现了硬盘存储不够的情况,最后某个服务器的服务都出现问题。这就我就想在原来的基础上加上硬盘存储的判断,通过“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