检测坏盘

最近项目需求,需要有坏盘告警。
查了下有个rpm包:gsmartcontrol使用其smartctl命令可以获取是否坏盘。故代码如下:

from resource_monitoring import psutil
import subprocess
pdisks = psutil.disk_partitions()#获取分区
disks = dict()
badnum = 0
totalnum = len(pdisks)
for pdisk in pdisks:
    print pdisk.device#获取盘符
    cmd  = "smartctl -H "+pdisk.device +" | grep 'self-assessment'"
    print cmd
    try:
       p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
       content = p.stdout.read()
       print p.stdout.read()
       if "PASSED" in content:
          num = num +1
          print num
    except:
       print "error"
print num
if num >0 :
   print "the sum of baddisk is " + num;
else:
   print "all disks is good"

后期再改进吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值