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
Devi registrarti a Speleoalex Per aggiungere un commento
