Build precise queries to find exactly what you need
Press ESC to close
@ndarkduck
Favorites0
Views
Projects0
You just improved 200% the UI.This should be the default theme... Congratulations!
Reviewed 15 years ago
Yet I changed some lines, making this script more useful for our environment, from the last review. Next step would be to parse the raid status, but so far I got the messages listed below, so this is how far my script could go. Cheers! [======>..............] check = 34.7% (72921088/209711382) finish=6891.0min speed=330K/sec [========>............] check = 43.7% (91719680/209711382) finish=480.0min speed=4096K/sec #!/bin/bash # # Created by Sebastian Grewe, Jammicron Technology # # Get count of raid arrays RAID_DEVICES=`grep ^md -c /proc/mdstat` # Get count of degraded arrays #RAID_STATUS=`grep "[.*_.*]" /proc/mdstat -c` RAID_STATUS=`egrep "[.*(=|>|.).*]" /proc/mdstat -c` # Is an array currently recovering, get percentage of recovery RAID_RECOVER=`grep recovery /proc/mdstat | awk '{print $4}'` RAID_RESYNC=`grep resync /proc/mdstat | awk '{print $4}'` # Check raid status # RAID recovers --> Warning if [[ $RAID_RECOVER ]]; then STATUS="WARNING - Checked $RAID_DEVICES arrays, recovering : $RAID_RECOVER" EXIT=1 elif [[ $RAID_RESYNC ]]; then STATUS="WARNING - Checked $RAID_DEVICES arrays, resync : $RAID_RESYNC" EXIT=1 # RAID ok elif [[ $RAID_STATUS == "0" ]]; then STATUS="OK - Checked $RAID_DEVICES arrays." EXIT=0 # All else critical, better save than sorry else EXTEND_RAID_STATUS=`egrep "[.*(=|>|.|_).*]" /proc/mdstat | awk '{print $2}' | uniq -c | xargs echo` STATUS="WARNING- Checked $RAID_DEVICES arrays, $RAID_STATUS have failed check: $EXTEND_RAID_STATUS " EXIT=1 fi # Status and quit echo $STATUS exit $EXIT
Reviewed 12 years ago