为单个实例解析/ proc / mdstat

时间:2013-03-01 18:05:05

标签: linux raid

希望这可以做到。我试图在我的盒子上解析rad数组的各个状态的mdstat。我发现有很多脚本可以执行此操作,但是没有一个脚本一次只能列出一个设备。我的目标是能够运行check_raid /dev/md0之类的命令,并且只返回md0:UUmd0:_U或其他内容的状态,而不是所有可用的raid。

我已经粘贴了我觉得最接近完成此代码的代码。最后我会把它放在nagios的检查命令中,我有图形设置来显示状态随时间的变化。

while( $l = <MDSTAT> ) {
    #print "$l\n";
    if( $l =~ /^(\S+)\s+:/ ) { $n = $1; $f = ''; next; }
    #print "$l\n";  
    if( $l =~ /(\S+)\[\d+\]\(F\)/ ) { $f = $1; next; }
    #print "$l\n";
    if( $l =~ /\s*.*\[([U_]+)\]/ ) {
        $s = $1;
        next if(!valid($n));
        if($s =~ /_/ ) {
            $status = $ERRORS{CRITICAL};
            $message .= "md:$n:$f:$s ";
        } else {
            $message .= "md:$n:$s ";
        }
    }
}

0 个答案:

没有答案