Построил я на днях ещё один шлюз на баз Intel Atoma 230 и FreeBSD 8.0 и стала задача мне подключить пользователя к интернету по VPN и передергивать его в случае обрыва.
Что самое характерное для этого скрипта — это то что он передергивает соединение, если повис интернет и при этом записывает в лог время и дату, когда это происходило. То есть, таким образом мы сможем потом проследить частоту обрывов и стабильность соединения, а если есть необходимость, то и предоставить лог провайдеру ;).
А вот он и сам собственно говоря скрипт:
#!/bin/sh ###reconect_and_loging_script if ping -c 2 ya.ru > /dev/null then exit 0 else echo 'killing pptp' >> /var/log/reconnect.log /bin/date >> /var/log/reconnect.log killall -9 ppp; killall -9 pptp; sleep 3 ps_pid=`ps ax | grep "ppp -ddial" | awk '{print $1}'` cat_pid=`cat /var/run/ppp.pid` if [ "$ps_pid" = "$cat_pid" ] then killall -9 ppp killall -9 pptp sleep 3 rm /var/run/ppp.pid echo 'stoped pptp' >> /var/log/reconnect.log else if [ "$ps_pid" = "" ]; then ppp -ddial pptp_server sleep 3 ps ax | grep "ppp -ddial" | awk '{print $1}' > /var/run/ppp.pid echo 'started pptp' >> /var/log/reconnect.log else killall -9 ppp killall -9 pptp fi fi fi |
Ставим его в cron на исполнение 1 раз в одну или две минуты, как вам нравится.
Вот и всё, делов то 🙂
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел