Код: Выделить всё
#!/bin/bash
RACOON=/usr/sbin/racoon
SETKEY=/usr/local/bin/setkey.rules
CLEAR=/usr/local/bin/clear.sh
START=/usr/local/bin/start.sh
while test 1
do
PING=`ping -c 4 10.0.0.2`
ret=$?
if [ "$ret" -ne "1" ]; then
echo `date` ", Normal!" > /dev/null 2>&1
fi
if [ "$ret" -ne "0" ]; then
echo `date` ", IPSec connection fail!" >> /var/log/ipsec.log
killall python java racoon
${RACOON} | ${SETKEY}
sleep 2m
${CLEAR}
sleep 5m
killall java
${START}
fi
sleep 10m
done
1 - После ${RACOON} | ${SETKEY} необходима повторная проверка соединения. Если результат проверки положительный, связь есть - запускаем ${CLEAR}, если нет возвращаемся к запуску ${RACOON} | ${SETKEY} и повторяем проверку пингом.
2 - Скрипт /usr/local/bin/clear.sh не умеет останавливаться, вручную отключается посредством Ctrl+C, и по этой причине скрипт не имеет продолжения после ${CLEAR}. Надо придумать как его убивать через 5 минут работы. Может кто в курсе как обойти траблу.