apacheが起動しているかどうかを監視するスクリプト!


▼内容
psコマンドで'"httpd"を抽出

存在した場合 -> なにもしない

存在しなかった場合 -> メール送信


▼スクリプト内容
# vi /root/httpd_check.sh

---------------------------------------------------
#!/bin/sh

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin
export PATH

FROM=watch@sunny.com
TO=hoge@sunny.com
PROCESS=`ps axco command | grep http | sort | uniq`

[ "x${PROCESS}" = "xhttpd" ] && exit

sendmail -t <<EOF
From: ${FROM}
To: ${TO}
Subject: Apache Warning

Apache died

EOF
---------------------------------------------------

↓作成後に実行権を忘れずに
# chmod 700 /root/httpd_check.sh

これをcronで30分ごとなりで実行させる!


例)
# crontab -e
30 * * * * /root/httpd_check.sh >/dev/null 2>&1
を追加

ちなみにテストコマンド[]内でわざと"x"をつけているのは
"="の左側が空白になってしまうと
"[: =: unary operator expected"
というエラーを吐いてしまうのを回避するためどぇす。

あとこれは自分のサーバ内で監視しているので
サーバ自体が落ちてしまうとまったく検知できませんw