UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

プロセス監視シェルのサンプル


プロセス監視シェルのサンプル


0.改定履歴

  • 1998.07.27 初版

1.はじめに

 このドキュメントは,稼動しているプロセスをチェックするシェルのサンプルを示す物である.

 このサンプルを用いた後,crontabなどに登録し,定期的な監視プロセスとして稼動させればよい.

2.監視シェル

 プロセスの監視を行うシェルのサンプルを以下に示す.

プロセス監視のサンプル(sh)
#!/bin/sh
pcount=`/usr/bin/ps -ef|grep PROCESS|grep -v grep|wc -l`
if [ $pcount = 0 ]; then
        echo ERROR Process not found!
fi

 このシェルでは,次の様な事を行っている.

  • psコマンドで,プロセスの一覧を拾っている.(grep PROCESS)
  • grep -vを用い,プロセスリストから自分自身を排除している.(grep -v)
  • wcを用い,その行数を取得して,その結果を環境変数pcountに設定している.
  • if分で,pcountの中身を検証し,その内容が0(つまり0行,リストアップされなかった)かを判断し,echoで報告している.

3.e-mailの利用

 cronで指定したシェルに,標準出力を行うように組み込むと,その結果がcrontabの持ち主宛にe-mailで報告される.

 よって,このe-mailを.forwardファイルを使って,管理者に転送するようにしておけば,電子メールにて異常を感知することが出来る.

cronの結果がe-mailで届いた例
Date: Fri, 24 Jul 1998 13:35:06 +0900
From: Solaris Users <root@duo>
To: root@duo
Subject: Output from "cron" command

Your "cron" job

/export/home/bin/chkprocess.sh

produced the following output:

ERROR Process not found

 この場合,/export/home/bin/chkprocess.shが実行され,その出力結果が"ERROR Process not found"である.

 ちなみに,シェルが標準出力を行わなければ,e-mail配送は行われない.



広告スペース
Google