crondとシェルスクリプトでWindows Serverを監視
Unix Linux Interixの情報

[ Linux / Unix リファレンスガイド ] ⇒ [ Interix SFU/SUA ] ⇒ [crondとシェルスクリプトでWindows Serverを監視]


crondとシェルスクリプトでWindows Serverを監視

以前、Windows Serverをシェルスクリプトとcrondで監視させてたのですが、その手法を公開。と言うか、
普通のUnixと同じやり方なので、オーソドックスなスクリプトを書いてcrondに登録するだけなので簡単です。

logger で結果をログファイルに書きだしたり、mailコマンドで結果をメール送信するなどいろいろな処理が可能です。

(設定例)
◆DISK容量を監視するジョブを設置

◆管理者でログイン
$ su -
Welcome to the Interix UNIX utilities.
DISPLAY=localhost:0.0
$ id
uid=197108(Administrator) gid=197121(なし) groups=197121(なし), 65792(+Everyone), 131616(+Administrators),
4095(CurrentSession), 66048(+LOCAL), 66820(+INTERACTIVE), 66827(+Authenticated Users)

◆crontab確認
$ crontab -l
============================
WARNING: User WINNB+Administrator does not have a valid password registered.
The cron daemon cannot execute your at, batch or crontab requests unless you first register
your current valid password. To register it, please use 'crontab -p'.
============================
no crontab for WINNB+Administrator

◆パスワードを登録
$ crontab -p
Enter password for 'WINNB+Administrator':

◆ディスク容量の確認
$ df
Filesystem 512-blocks Used Available Capacity Type Mounted on
//HarddiskVolume1 41913520 10968184 30945336 26% ntfs /dev/fs/C
//CdRom0 116188 116188 0 100% cdfs /dev/fs/D

上記のコマンド結果のうち、Windows Cドライブ(/dev/fs/C)を監視させたい

◆スクリプト作成
$ mkdir /usr/local/sbin
$ cd /usr/local/sbin
$ touch disk_cap.sh
$ chmod 755 disk_cap.sh
$ vi disk_cap.sh

◆スクリプトの中身を確認
-----------------------------------------------------------------
disk_cap.sh
-----------------------------------------------------------------
#!/bin/sh
ccap=`df | grep C$ | awk '{print $5}' | sed -e 's/\%//g'`
if [ ${ccap} -ge 20 ]; then
 /bin/logger "WARNING - Few space available"
fi
-----------------------------------------------------------------

※dfコマンドの結果からCドライブの使用量が20%以上の場合警告を出すこととする
ご覧の通り、Windowsでawk・sed・grep・loggerなどが使えるので便利です。

◆ジョブ登録
$ crontab -e
書式準備中(普通の一般的な書き方です)

◆ログファイルの確認
$ ls -l /var/adm/log
total 19
-rw-rw-r-- 1 Administrator +Administrators 80 Nov 14 2003 README
-rw-rw-r-- 1 Administrator +Administrators 39 Nov 14 2003 daemon
-rw-rw-r-- 1 Administrator +Administrators 36 Nov 14 2003 ftp
-rw-r--r-- 1 +SYSTEM +Administrators 4575 Sep 21 00:51 init.log
-rw-rw-r-- 1 Administrator +Administrators 109 Sep 21 01:59 logger
-rw-rw-r-- 1 Administrator +Administrators 36 Nov 14 2003 lpr
-rw-rw-r-- 1 Administrator +Administrators 37 Nov 14 2003 mail
-rw-rw-r-- 1 Administrator +Administrators 80 Sep 21 01:37 messages
-rw-rw-r-- 1 Administrator +Administrators 37 Nov 14 2003 news
-rw-rw-r-- 1 Administrator +Administrators 39 Nov 14 2003 secure
-rw-rw-r-- 1 Administrator +Administrators 37 Nov 14 2003 uucp

※messagesなどのログは /var/adm/log 配下にあります。

◆ログファイルの確認
$ cat /var/adm/log/logger
/var/adm/log/logger: <empty log file>
21Sep2013 01:50:23 JST (Administrator): test message
21Sep2013 02:00:00 JST (Administrator): WARNING - Few space available

無事に警告メッセージが書き込まれていました。ログに書きだすだけではなく、メールを送信したり、
Windowsのアプリケーションに結果を渡したり、工夫次第でどんどん便利になります。


以上