Вы здесь

Скрипт проверки сессии PPPOE

На одном из серверов у меня развернут файловый сервер на Samba, и также подключен yandex.disk как раздел файловой системы, с использованием технологии (протокола) WebDav. Интернет на этом сервере подключается с помощью PPPOE, сессия довольно нестабильна, разрывы соединения бывают раз в 3 часа, а то и чаще. Чтобы избежать периодического отключения Яндекс Диска из-за обрыва pppoe-сессии, я написал простой скрипт на bash, проверяющий наличие подключения, и в случае обрыва, восстанавливающий его:

  1. #!/bin/bash
  2. pings="0";
  3. a=5;
  4. pings=`ping -c $a 8.8.8.8 | grep -c "ttl"`
  5. if [ "$pings" = "$a" ]; then
  6. echo "OK" >> /var/log/ppp_restart.log
  7. else
  8. poff -a
  9. sleep 5
  10. pon dsl-provider
  11. date >> /var/log/ppp_restart.log
  12. fi

Разберем некоторые строки скрипта:

pings=`ping -c $a 8.8.8.8 | grep -c "ttl"`
if [ "$pings" = "$a" ]; then
echo "OK" >> /var/log/ppp_restart.log

- пингуем пять раз ip 8.8.8.8 (принадлежит Google), и если все 5 пингов прошли успешно, то пишем в лог-файл, расположенный в /var/log/ppp_restart.log - "ОК"

else
poff -a
sleep 5
pon dsl-provider
date >> /var/log/ppp_restart.log
fi

иначе (если подключение отсутствует), завершаем pppoе-сеанс (команда poff) , ждем 5 секунд (sleep 5), и пытаемся подключитьяс командой pon dsl-provider.

Файл скрипта я сохранил в системе по адресу /home/fess/ppp_restart.sh, и добавил задание в cron, с частотой запуска каждые 10 минут:

crontab -e

и вставляем в редактор заданий крона строку:

*/10 * * * * /bin/sh /home/fess/ppp_restart.sh

Рубрики: 

Комментарии

привет! проблема разрывов/зависаний уже достала! нельзя ли переделать скрипт под windows 7 без роутеров, модемов. чтоб разрывать и поднимать зависшую pppoe сессию. желательно дать уже готовый bat-файл. спасибо!

привет! проблема разрывов/зависаний уже достала! нельзя ли переделать скрипт под windows 7 без роутеров, модемов. чтоб разрывать и поднимать зависшую pppoe сессию. желательно дать уже готовый bat-файл. спасибо!

привет! для windows 7 можно наваять подобный скрипт? постоянно рвется/виснет pppoe-соединение. роутеров, модемов нет. в инете не нашел кто бы написал для 7 скриптец. желательно поиметь уже готовый bat-файл. спасибо!

Для Windows честно говоря не знаю, думаю можно написать подобное, и запускать через Планировщик, но я в написании скриптов для Windows не силен, если честно:(

Также рекомендуем