Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: gojko в Jun 10, 2005, 16:19



Титла: Проверка за активна връзка
Публикувано от: gojko в Jun 10, 2005, 16:19
Здравейте, може ли с някакъв скрипт да се проверява на 30 мин. примерно дали не е разпаднала връзката ( ppp+ ) и ако е така да се стартира автоматично команда за пускане на adsl-a ( pon dsl-provaider  в моя случай?). Дистрибуцията ми е Debian 3.1 Sarge.

Мерси предварително за help-a!


Титла: Проверка за активна връзка
Публикувано от: prilep в Jun 10, 2005, 16:48
Примерен код

<?php
/*
Script for recconecting the Internet conecction. Check the state with ping,
then start killall and run ppp.
*/

$command='ping -q -c 3 194.145.63.12';// pinging dir.bg
$result=exec($command);
$result=trim($result);
$result=explode(' ',$result);
$result=$result[0];

if (!($result=='round-trip')){ // ping failed

        // start logging - write the log file
        $time = date(" H:i:s",time());
        $date = date("Y-m-d",time());
        $data="$date --- $time --- tun0 is down\n";
        $fp=fopen('/var/log/net.log','a');
        @fwrite($fp,$data);
        @fclose($fp);
        // end logging


        $command='killall -9 ppp';
        exec($command); // we are killing all ppp proceses
        $command='ppp -ddial MYCONNECTION';
        exec($command);
}
return;

?>




Здрасти - за това тука ти трябва php , не казвам , че е най-доброто или най-оптималното , на мен ми върши работа.
Замени $command='ppp -ddial MYCONNECTION';
с командата , с която си пускаш интернета и същото направи и за този ред $command='killall -9 ppp';
След това слагай в крон на колкото време ти е необходимо.

Успех !


Титла: Проверка за активна връзка
Публикувано от: divak в Jun 10, 2005, 18:10
Здравей
предлагам ти нещо, малко е грубо ама върши работа а и можеш да си го преправиш да е по тви вкус

#!/usr/bin/perl
while (!-e '/proc/sys/net/ipv4/conf/ppp0';)
{
system ('adsl-stop';);
system ('adsl-start';);
}

малко е брутално, ама друго по елементарно не се сетих.
Просто проверява в /proc/sys/net/ipv4/conf/ и ако няма /ppp0 прави опити за връзване наново. Слагаш го в крон-а за колкото време изкаш да проверява.Самия скрипт го слагаш кадето на теб ти харесва.
П.с. Пак ти казвам че е грубо - Ако проблема да нямаш нет е хардуерен независимо каде е причината, това почва да цикли докато се върже


Титла: Проверка за активна връзка
Публикувано от: gojko в Jun 11, 2005, 11:17
Мерси за бързите отговори! Ще пробвам да видим какво ще стане