[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp: 2545] Re: LDAP サーバ障害時の対策
- Subject: [postfix-jp: 2545] Re: LDAP サーバ障害時の対策
- From: matumoto@xxxxxxxxxxxxxxxxxxxxxx (Ryuji Matsumoto)
- Date: Mon, 19 Mar 2007 12:15:11 +0900 (JST)
松元です。
古いメールですが
[postfix-jp: 2457] Re: LDAP サーバ障害時の対策
>>
>> 2. IDコマンドを使ったテストをcrontabに仕込む
>> - メールのロストを少なくするためには可能な限り短い間隔でテストする。
>> - しかしLDAPのタイムアウトに時間かかるので、二重起動しない対策。
>> - 本テストでpostfixが落ちた事を検出し通知する手を考える。
上記のスクリプトを作りましたので公開します。CentOS4.4で動作確認。
ただ、
>> - 本テストでpostfixが落ちた事を検出し通知する手を考える。
については実装していません。 外部から Nagiosで検知する方法で
考えていますが。。
------------------------------------
rootのcrontabあたりに仕込んでください。
3-59/5 * * * * /usr/local/sbin/check-ldap.sh
------------------------------------
#!/bin/sh
HOME=/
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
export HOME PATH
#
# getent passwd の返り値の閾値。ユーザ数が指定した数以下になる
# とエラーにする。数値は環境に合わせて適切に。
#
GETENT_LIMIT=500
#DEBUG
#GETENT_LIMIT=600
#
# Ref: http://www.postfix-jp.info/ML/arc-2.3/msg00456.html
# * Subject: [postfix-jp: 2457] Re: LDAP サーバ障害時の対策
#
# 存在するか調査するID。
#
CHECK_USERS="user1 user2 user3"
#DEBUG
#CHECK_USERS="hogehoge guestguest"
#############################
stop_postfix () {
/etc/rc.d/init.d/postfix stop
}
rm_lock ()
{
if [ -f /var/lock/subsys/check-ldap ]; then
rm -f /var/lock/subsys/check-ldap
fi
}
check_id_postfix () {
/usr/bin/id $1 > /dev/null 2>&1
RETVAL=$?
if [ ${RETVAL} -ne 0 ]; then
stop_postfix
echo "ERROR: May Be down LDAP. Dose not exist " $1
rm_lock
exit
fi
}
#############################
#
# 二重起動のチェック
#
if [ ! -f /var/lock/subsys/check-ldap ]; then
touch /var/lock/subsys/check-ldap
RETVAL=$?
if [ ${RETVAL} -ne 0 ]; then
echo "ERROR: Can not create lock file"
exit
fi
else
echo "ERROR: exist lock file"
exit
fi
#
# 指定したIDが存在をテストする。
#
#
for N in ${CHECK_USERS} ; do
check_id_postfix $N
done
#
# getent passwd の返り値のテスト。行数が想定数より
# 少ないとエラー
#
PASSWD_C=`/usr/bin/getent passwd | wc -l `
if [ ${PASSWD_C} -lt ${GETENT_LIMIT} ]; then
stop_postfix
echo "ERROR: May Be down LDAP. Very few user :" ${PASSWD_C};
rm_lock
exit
fi
#
#
#
rm_lock
exit;
# EOF
--
松元隆二
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list
- Follow-Ups
-
- [postfix-jp: 2546] Re: LDAP サーバ障害時の対策, YOSHIMURA Keitaro
- References
-
- [postfix-jp: 2457] Re: LDAP サーバ障害時の対策, Ryuji Matsumoto
[検索ページ]
[Postfix-JP ML Home]