ReadyNAS RN10200 もS.M.A.R.T.情報をメールさせるようにしてみました
Buffalo LS-VL, QNAP TS-112 とやってきて、残るは NETGEAR ReadyNAS RS10200
Buffalo LS-VL, QNAP TS-112 と smartmontools をインストールしたり smartdを動くようにし、S.M.A.R.T.情報を定期的にメールで送らせるようにしてきました。残るは実家で稼働させている NETGEAR ReadyNAS RN10200 だけとなりました。そこで、RN10200も同じようにやってみました。
ただ RN10200 の場合、smartctlコマンドは入っているものの、smartd は無いようです。また、QNAP の optware のような開発環境をインストールするのも難しそうです。あるもので何とかするしかないので、先ずは smartctl コマンドでHDDのS.M.A.R.T.情報を採ってメール送信させるところから始めました。
HDDのS.M.A.R.T.情報をメール送信するスクリプトは、こんな感じ。
#!/bin/bash
MAIL_TO=""
case $# in
1) MAIL_TO=$1
;;
*) echo "Usage: $0 {mail-address}"
exit 2
;;
esac
SENDMAIL="/usr/sbin/sendmail"
MAIL_FROM="${HOSTNAME}@xxxx.yyy.ne.jp"
MAIL_SUBJECT="SMART report of ${HOSTNAME}"
TMP_MAIL="/tmp/mail.$$"
SMARTCTL="/usr/sbin/smartctl --device=sat"
DEVICE1="/dev/sda"
DEVICE2="/dev/sdb"
cat <<EOD > $TMP_MAIL
From: $MAIL_FROM
To: $MAIL_TO
Subject: $MAIL_SUBJECT
EOD
echo "----- ${DEVICE1} -----" >> $TMP_MAIL
${SMARTCTL} --attribute --log=selftest ${DEVICE1} >> $TMP_MAIL
echo ""
echo "----- ${DEVICE2} -----" >> $TMP_MAIL
${SMARTCTL} --attribute --log=selftest ${DEVICE2} >> $TMP_MAIL
${SENDMAIL} -t < $TMP_MAIL
rm -f $TMP_MAIL
例によって、かなり手抜きです。引数で送信先のメールアドレスを受け取ります。あとはメールヘッダと、本文に smartctl コマンドの結果を書き加えてメールを作成、それを sendmail で送っているだけ。MAIL_FROMの送信元メールアドレス(赤字の部分)は、RN10200のFrontViewの、[システム]ー[設定]ー[警告]に設定したメールサービスプロバイダのドメイン名を書きます。
このスクリプトは /home/admin 配下に bin ディレクトリを作り、そこに smart_report.sh という名前で作成しました。
# mkdir /home/admin/bin
# cd /home/admin/bin
# vi smart_report.sh
# chmod +x smart_report.sh
|
きちんとメールが送れるか試してみます。
# /home/admin/bin/smart_report.sh hoge@xxxx.yyy.ne.jp
|
メールが送信されて来ることが確認できたら、このスクリプトが定期的に呼び出されるよう crontab -e で追加します。ワタシは毎週日曜日にメールが届くよう、以下のように追加しました。
0 3 * * sun /home/admin/bin/smart_report.sh hoge@xxxx.yyy.ne.jp
|
|