Биллинговая система Nodeny
22 Мая 2024, 06:44:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Скрипт переподключения PPP при падении инета  (Прочитано 3571 раз)
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« : 17 Января 2012, 15:46:21 »

Код:
cat /usr/local/etc/rc.d/netcheck

Код:
#!/bin/sh
#
# PROVIDE: ipcad
# REQUIRE: DAEMON
#

. /etc/rc.subr

name="netcheck"
rcvar=${name}_enable

load_rc_config ${name}

: ${netcheck_enable="NO"}
cd /tmp
#
$net="net" # профиль РРР
dns="8.8.8.8" # пингуемый адрес ДНС прова
slpm=3 # Время ожидания между проверками инета (в минутах)
# Вместо звёздочек вписиваем свой ХЕШ для обновления freedns.afraid.org
freedns="update.php?*************" #freedns.afraid.org == ddns service # Если не используем freedns.afraid.org то удаляем
#=====================DON'T EDIT in The Lines=======================
slp=$(($slpm * 60))
nr=""
ni=""
tr=0
flog=/var/log/internet.log
#=====================DON'T EDIT in The Lines=======================
fetch -q "http://freedns.afraid.org/dynamic/$freedns" > /dev/null 2>&1 # Если не используем freedns.afraid.org то удаляем
echo "`date "+%d %H:%M"` Freedns Updated" >> $flog # Если не используем freedns.afraid.org то удаляем
while test $tr != 10
do
is=`/sbin/ping -c 3 $dns | grep -c "64 bytes"`
   if !(test $is -gt "0")
    then
        /usr/bin/killall -9 ppp
        /usr/bin/killall -KILL ppp
        tr=$(( $tr + 1 ))
        if !(test $nr)
         then
             nr=1
             timeobr=`date "+%Y/%m/%d %H:%M::%S"`
        fi
sleep 10
        /usr/sbin/ppp -quiet -ddial -nat $net
        sleep 50
fetch -q "http://freedns.afraid.org/dynamic/$freedns" > /dev/null 2>&1 # Если не используем freedns.afraid.org то удаляем
echo "`date "+%d %H:%M"` Freedns Updated" >> $flog # Если не используем freedns.afraid.org то удаляем
    else
tr=0
        if (test $nr)
         then
             echo $timeobr Connecnion lost to `date "+%H:%M::%S"` >> $flog
         fi
        ni=1
sleep $slp
   fi
done
shutdown -r now

Код:
chmod 755  /usr/local/etc/rc.d/netcheck
Код:
echo netcheck_enable=\"YES\" >> /etc/rc.conf

Проверено!
Всё прекрасно работает!!!
« Последнее редактирование: 17 Января 2012, 15:48:38 от Redmen » Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #1 : 18 Января 2012, 15:31:44 »

Очепятка:
заменить
Код:
$net="net" # профиль РРР
на
Код:
net="net" # профиль РРР
Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #2 : 20 Января 2012, 12:39:05 »

спасибо
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!