サーバー管理をしていると「あー!Apache落ちてる!」みたいなことが時たまあります。
そうならないように、いや、そうなっても早めに気づくように、
プロセスチェックのシェルプログラムを作りました。
#!/bin/sh
message=""
#postfix
postfix=`ps ax | grep '/usr/libexec/postfix/master' | grep -v 'grep'`
if [ -z "${postfix}" ]; then
/etc/init.d/postfix restart
postfix=`ps ax | grep '/usr/libexec/postfix/master' | grep -v 'grep'`
if [ -z "${postfix}" ]; then
message="${message}postfix stopd "
fi
message="${message}postfix stopd restart OK "
fi
#postmaster
postmaster=`ps ax | grep '/usr/bin/postmaster' | grep -v 'grep'`
if [ -z "${postmaster}" ]; then
/etc/init.d/postgresql restart
postmaster=`ps ax | grep '/usr/bin/postmaster' | grep -v 'grep'`
if [ -z "${postmaster}" ]; then
message="${message}postmaster stopd "
fi
message="${message}postmaster stopd restart OK "
fi
#httpd
httpd=`ps ax | grep '/usr/sbin/httpd' | grep -v 'grep'`
if [ -z "${httpd}" ]; then
/etc/init.d/httpd restart
httpd=`ps ax | grep '/usr/sbin/httpd' | grep -v 'grep'`
if [ -z "${httpd}" ]; then
message="${message}httpd stopd "
fi
message="${message}httpd stopd restart OK "
fi
#send mail
if [ -n "${message}" ]; then
mail -s "***ERROR***** process_chk.sh flagsystem.co.jp" "root@flagsystem.co.jp" << body
${message} .
body
fi
exit 0
この記事をシェアする