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