Hi всем
Дано - тунель VPN
Проблема - он иногда падает :-)
Вопрос:Решил я автоматизировать процесс проверки состояния тунеля.
Наварганил скриптик который в зависимости от состояния тунеля либо поднимает его заново либа оставляет в покое, если он нормально функцианирует.
Скрипт отрабатывает как надо без проблем, но стоит его запуск поместить в crontab начинаются косяки.
Т.Е. при перезапуске тунеля из скрипта он должен вешатся на тот же интерфейс скажем tun0, а по крону он его вешает на новый т.е. tun0 висит, а cron создает tun1.
Понятно что мне так нифига не покатет из за rout'а, да и фаер на tun0 завязан.
Не понятно только то, что при ручном запуске скрипт отрабатывает так как нужно.
Вот собственно и вся проблема.
###################################################################################
#!/bin/sh
i=0
STATE=`ping -c 3 192.168.0.1 > /dev/null 2>&1 && echo UP || echo DOWN`
case "$STATE" in
DOWN)
logger -t $0 -i 'SSH tunnel in state DOWN'
logger -t $0 -i 'vpnstat try change state to UP'
PID="$(echo 'printf("%d",(split/\s{1,}/,`ps aux | grep -v "grep" | grep "ppp -auto vpn"`)[1])' | perl)"
if [ ${PID} -gt 0 ];then
/bin/kill -15 ${PID} >/dev/null 2>&1;
else
/sbin/ifconfig tun0 delete > /dev/null 2>&1
fi
/usr/sbin/ppp -auto vpn >/dev/null 2>&1;
logger -t $0 -i 'SSH tunnel in state UP'
break;;
*)
break;;
esac
#################################################################################