Нашёл в одном загашнике текст простенького скрипта, возможно, кому-то из страдальцев с pptp на линуксе и пригодится.
Код:
#!/bin/bash
nrm="ppp0"
dt=$(date)
a=""
a=$(ifconfig | grep ppp0 | cut -f1 -d " ")
if [ "$a" = "$nrm" ]
then echo "$dt everything ok" >> /root/vpn_log
else [ -z A ]
echo "$dt PZDTS, trying to reconnect" >> /root/vpn_log
pon vpn0 && sleep 10 && route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp0
fi
exit 0
Вкратце о том, как он работает: есть три переменные nrm (её значение равно ррр0), dt (содержит вывод команды date) и a (в неё помещается вывод команды ifconfig, который проверяется на содержание термина ppp0 и вывод разрезается редактором cut на значение первой колонки). Далее значения переменных nrm и a сравниваются, и если всё хорошо, в лог идёт значение переменной dt и запись. В противном случае, также помещается дата и запись, что имеется проблема. Далее, происходит попытка перезапуска соединения и по истечению 10 секунд добавление маршрута.