Get Adobe Flash player

Lingua

it en

Blog

Tenere traccia dello stato della connessione internet

Un piccolo script per linux che verifica eventuali offline.

Lo script esegue un ping continuo ad un indirizzo ip (di default il dns di google 8.8.8.8) e avvisa quando questo non è raggiungibile e per quanto tempo.


 

Ecco il codice:
 
#!/bin/sh
 
oldstatus=2;
onlineTime=0;
offlineTime=0;
interval=2;
looptime=$(date +"%s");
IsOnline=0;
 
 
addr=www.google.com
if [ $1  ]
then
    addr=$1
else
    addr=8.8.8.8
fi
 
echo check $addr
 
while [ true ] 
do
    ping -c 1 $addr>>/dev/null
    if [ $? -eq  0 ]
    then
        if [[ ($oldstatus -eq  0) || ($oldstatus -eq  2) ]]
        then
            echo $(date +"%Y-%m-%d %H:%M:%S ") "ONLINE dopo un offline di " $offlineTime "secondi"
            IsOnline=1;
            oldstatus=1;
            offlineTime=0;
        fi
       # echo "ONLINE"
    else
        if [[ ($oldstatus -eq  1) || ($oldstatus -eq  2)]]
        then
            echo  $(date +"%Y-%m-%d %H:%M:%S ") "OFFLINE dopo un online di " $onlineTime "secondi"
            IsOnline=0;
            oldstatus=0;
            onlineTime=0;
        fi
        #echo "OFFLINE"
    fi
    #log time online/offline-------------------------->
    t=$(date +"%s");
    if [ $IsOnline -eq 1 ]
    then
        onlineTime=$((onlineTime+t-looptime))
    else
        offlineTime=$((offlineTime+t-looptime))
    fi
    looptime=$(date +"%s");
    #log time online/offline--------------------------<
    sleep $interval;
done
 
oppure potete scaricare QUI lo script. Occorre che questo abbia i permessi di esecuzione (chmod +x check.sh)
 
Potete utilizzarlo eseguendo ad esempio:
 
check.php www.google.it
 
 



 vai a Blog

Notizie recenti