QNAP TS-112に定期的にS.M.A.R.T.情報をメールさせる
smartdを動作させることで、HDDの異常監視ができるようになりましたが
QNAP TS-112でsmartdが動作するようになりましたが、smartdはHDDの異常を検出したときしかメールでお知らせしてくれません。便りがないのは良い便りとは言いますが、やはり定期的にHDDの健康状態を情報を知らせて欲しいものです。そこで、先に作ったsmartd用メール送信スクリプト "/share/HDA_DATA/.qpkg/smartmontools/smartmail.sh" を使って内蔵、外付けの両HDDのS.M.A.R.T.情報をメールで送信するスクリプト "/share/HDA_DATA/.qpkg/smartmontools/smart_report.sh" を書きました。
#!/bin/sh
MAILER="/share/HDA_DATA/.qpkg/smartmontools/smartmail.sh"
MAIL_TO="hoge@xxxx.yyy.ne.jp"
export SMARTD_DEVICETYPE=sat
export SMARTD_DEVICE=/dev/sda
SUBJECT="SMART report of ${HOSTNAME} ${SMARTD_DEVICE}"
echo | ${MAILER} -s "${SUBJECT}" ${MAIL_TO}
SMARTD_DEVICE=/dev/sdza
SUBJECT="SMART report of ${HOSTNAME} ${SMARTD_DEVICE}"
echo | ${MAILER} -s "${SUBJECT}" ${MAIL_TO}
MAIL_TOは送信先のメールアドレス。例によって、スクリプトに実行権を付けておくのを忘れないように。あとは、これをcronによって定期的に呼び出せるようにするだけです。
ただ、普通のLinux/Unixでは crontab -e で書き加えるだけで済みますが、QNAP OS (QTS)では、これも再起動後には消えてしまいます。QTS の場合、crontab -e で書き換えられるのは "/tmp/cron/crontabs" 配下のファイルなので、再起動すると元に戻ってしまうのです。
QTSの場合、
- "/etc/config/crontab"を直接書き換える
- "/tmp/cron/crontabs/admin" も1.と同じように書き換える
- crondを再起動するか、TS-112を再起動する
という手順で行います。
1. "/etc/config/crontab" を書き換える
QTSはブート時に "/etc/config/contab" を "/tmp/cron/crontabs/admin" にコピーするようです。/etc/config はHDD上にあるため、再起動しても消えることはありません。そこで、先ず "/etc/config/contab" に、定期的に "/share/HDA_DATA/.qpkg/smartmontools/smart_report.sh" を呼び出すよう、以下の記述を追加します。
0 1 * * 0 /share/HDA_DATA/.qpkg/smartmontools/smart_report.sh
|
上では毎日曜日の午前1時に "/share/HDA_DATA/.qpkg/smartmontools/smart_report.sh" スクリプトを呼び出すようにしています。
2. "/tmp/cron/crontabs/admin" も1.と同じように書き換える
上で追加したのと同じ内容を、 "/tmp/cron/crontabs/admin" にも追加します。このとき、crontab -e コマンドで追加してもOKで、その際には3.の手順は不要になります。
3. crondを再起動するか、TS-112を再起動する
crondを再起動するには、
# /etc/init.d/crond.sh restart
|
とします。または、QTSの画面からTS-112を再起動させます。日曜日の朝にメールをチェックして、TS-112から内蔵HDD、外付けHDDについて各々S.M.A.R.T.情報が書かれたメールが届けば成功です。
|