До некоторого времени использовали Round-robin но иногда перекосы всетаки упирали какую нибуть циску в потолок, для проверки перекосов за 10 минут с перекуром был скреативен след скриптик. Запихиваем в cron с необходимой переодичностью и получаем щастье.
#!/bin/bash
#date
DATE=`date "+%d.%m.%Y %H:%M:%S"`
#IP adress pool cisco
CISCO_IP1=192.168.1.1
CISCO_IP2=192.168.1.2
#max count VPN session
MAXVPN_C1=1500
MAXVPN_C2=1500
#path to snmpwalk
PTSNMPW=/usr/local/bin/snmpwalk
#path to bind
PTBIND=/etc/init.d/bind
#path to zone file
PTZONEF=/var/lib/bind/zone/pptp.example.ru.db
#snmp community
COMMUN=public
#MIB
MIB=1.3.6.1.4.1.9.10.24.1.1.4.1.2.3
#main zone
MAINZONE=/var/lib/bind/zone/example.ru.named
#cisco zone file name
CZONE=pptp.exampe.ru.db
#log
LOG=/var/log/cisco_reload.log
#main
COUNT=`$PTSNMPW -v 2c $CISCO_IP1 -c $COMMUN $MIB | cut -d ' ' -f4`
if [ "$COUNT" -le "$MAXVPN_C1" ]
then
echo "login IN A $CISCO_IP1" > $PTZONEF
else
echo "$DATE - reloading CISCO 1 complited" >> $LOG
echo ";CISCO1 reloading" > $PTZONEF
fi
COUNT=`$PTSNMPW -v 2c $CISCO_IP2 -c $COMMUN $MIB | cut -d ' ' -f4`
if [ "$COUNT" -le "$MAXVPN_C2" ]
then
echo "login IN A $CISCO_IP2" >> $PTZONEF
else
echo "$DATE - reloading CISCO 2 complited" >> $LOG
fi
INCLTEST=`cat $MAINZONE | grep -c $CZONE`
if [ "$INCLTEST" -eq 0 ]
then echo "\$include \"$CZONE\"" >> $MAINZONE
fi
$PTBIND reload
echo "$DATE - work complited!" >> $LOG
понедельник, 20 июля 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий