SMART の正式名称は、 Self-Monitoring, Analysis and Reporting Technology です。
この SMART とは、ハードディスクが自分自身の状態を診断し、ディスクの状態を参照できる技術の事です。

 

まず使用する前にsmartmontoolsをインストールしましょう。

# yum install smartmontools

 

今回は、メールを送信するので sendmailを起動します。

# service sendmail start

 

sendmail の起動時の起動設定もしておきます。

# chkconfig sendmail on

 

そして私は以下のシェルスクリプトを作成し、contabに追加しました。

to="mailuser@testdomain"
subject="DISK ERROR"

#すべてのディスクを取得
files="/dev/sd?"

for device in ${files}
do
        #ディスクの状態を確認
        res=$(/usr/sbin/smartctl -H ${device})

        if [ ! "echo ${res} | grep 'PASSED'" ] ; then

                #メール送信
                mail -s "$subject" $to << _EOT_
${device}
_EOT_

        fi
done

上記のシェルスクリプトは、デバイスファイルから全てのディスクを取得し、/usr/sbin/smartctl -H <デバイス名> のコマンドの出力結果から、PASSED の文字列が確認できない場合は、メールにて通知しています。

[対象]
CentOS 6.x
CentOS 5.x