Мої вітання.
Стоїть сервер, який під'єднанний до провайдера через модем dsl підключенний через vpn-тунель. В мене стоїть скрипт який кожну хвилину перевіряє наявніть ppp0 і в разі відсутності інтерфейсу, запускає з'єднання. На практиці було виявленно, що інколи зникає інтернет, тобто не ping`гуються dns`и та шлюз провайдера, але при цьому ppp0 залишається. Тобто скрипт при таких умов не може поновити з'єднання. Якщо вручну зупинити vpn-з'єднання, то ppp0 -зникає й скрипт поновлює з'єднання. Допоможіть модифікувати скрипт таким чином, щоб він перевіряв наявність не тільки ppp0, але й шлюзу та двох dnd, і якщо нема ppp0, або шлюзу, або двох одночасно dns. Можливо достатьньо буде й перевірки ppp0 та двох dnd.
#!/bin/sh
restart_pptp()
{
/usr/sbin/pptp-command stop vpn1;
if /usr/sbin/pptp-command start vpn1; then
echo "`date +%d.%m.%y_%H:%M:%S` PPTP Restarted" >> /var/log/ppp/cron.pptp;
fi
}
if ifconfig ppp0 | grep ppp > /dev/null; then
echo "`date +%d.%m.%y_%H:%M:%S` PPTP test Ok" >> /var/log/ppp/cron.pptp;
exit 0;
else
echo "`date +%d.%m.%y_%H:%M:%S` Attempting to restart PPTP" >> /var/log/ppp/cron.pptp;
restart_pptp > /dev/null 2>&1 &
fi