OS-sw ver.: CCBot/2.0 (https://commoncrawl.org/faq/)
Login date: 09 Apr 20 - 16:10:20
IP Address: 3.235.29.190Cursore

Registrati
Questo script server a testare la connessione della macchina su cui gira con il router e internet. Alcuni script in esso incorportati sono "extra" e mi servono per stoppare o avviare altre servizi "ad hoc". Saltandoli non si compromette lo scopo finale che è quello di effettuare dei test e di procedere nella risoluzione dei vari problemi riscontrati.

Lo script in breve effettua questi test:

    INIZIO
      ↓
ESEGUO EXTRA
      ↓
PING INTERNET
 ↓          ↓
 OK       NON OK
 ↓          ↓
FINE      PING ROUTER
            ↓         ↘
            OK          NON OK
            ↓               ↘
            ↓             GIU/SU PORTA MIA ETH0
            ↓                          ↓(5 volte)
            ↓                     PING ROUTER
            ↓                      ↓           ↘
            ↓                      OK            NON OK
            ↓                      ↓                    ↘
             → → → → → →    PING INTERNET                MI RIAVVIO
                                   ↓        ↘                 ↓
                                   OK      NON OK            FINE
                                   ↓         ↓      
                                  FINE  RIAVVIO ROUTER
                                             ↓
                                            FINE

Di seguito lo scrit bash completo:

#!/bin/bash

#############DICHIAZIONE VARIABILI IP ESTERNO INTERNET E ROUTER
ip_internet=8.8.8.8
ip_router=192.168.0.1

#############FUNZIONE DI TEST CONNESSIONE CON PING
function chk_ping (){
  ((count = 3))
  while [[ $count -ne 0 ]] ; do
    ping -c 1 $1 > /dev/null
    rc=$?
    if [[ $rc -eq 0 ]] ; then
        ((count = 1))
    fi
    ((count = count - 1))
  done
  echo $rc
}
#############FINE FUNZIONE DI TEST CONNESSIONE CON PING


#############INIZIO CHECKING
#############DISABILITO WIRELESS ROUTER
/opt/scripts/disablewless1DGND.sh
#############PRIMO CHECK VERSO INTERNET
rc=$(chk_ping $ip_internet)
cd /opt/scripts
echo $rc
#############SE E TUTTO OK ESCO SENNO PROSEGUO COI TEST
if [[ $rc -ne 0 ]] ; then
  #############PINGO AL ROUTER
  i=0
  #############SE MI RISPONDE IL ROUTER SALTO IL CICLO
  rc=$(chk_ping $ip_router)
  #############SE IL ROUTER NON MI RISPONDE TIRO GIU E SU LA SCHEDA DI RETE PER MAX 5 VOLTE, SE TORNA UP LA COMUNICAZIONE ESCO DAL CICLO
  until [ $rc -eq 0 ] || [ $i -eq 5 ]
    do
      cd /etc/init.d
      ifdown eth0
      ifup eth0
      let "i = $i + 1"
      echo "Problemi di comunicazione col Router, Tentativo "$i"/5 down-up porta eth"
      logger "Problemi di comunicazione col Router, Tentativo "$i"/5 down-up porta eth"
      rc=$(chk_ping $ip_router)
    done
  #############SE PER 5 VOLTE NON HO OTTENUTO COMUNICAZIONE COL ROUTER MI RIAVVIO
  if [ $i -eq 5 ];then
    echo "Non comunico col Router, provo a riavviarmi"
    logger "Non comunico col Router, provo a riavviarmi"
    reboot
  #############ALTRIMENTI SEGNALO CHE LA COMUNICAZIONE COL ROUTER E OK E RITESTO INTERNET
  else
    if [ $i -gt 0 ];then
      echo "La comunicazione col Router e' stata ripristinata, testo l'ADSL"
      logger "La comunicazione col Router e' stata ripristinata, testo l'ADSL"
      /opt/scripts/sendmailtestconn.sh "La comunicazione col Router e' stata ripristinata, testo l'ADSL"
    fi
    #############SE INTERNET NON VA RIAVVIO IL ROUTER E ASPETTO 2 MINUTI
    rc=$(chk_ping $ip_internet)
    if [[ $rc -ne 0 ]] ; then
      echo "Problemi con l'ADSL, riavvio il Router"
      logger "Problemi con l'ADSL, riavvio il Router"
      ./rebootmodem.sh > /dev/null
      #############SE DOPO 2 MINUTI NON C E ANCORA INTERNET SEGNALO CHE C E UN PROBLEMA SENNO SEGNALO CHE E DI NUOVO OK
      sleep 120
      rc=$(chk_ping $ip_internet)
      if [[ $rc -ne 0 ]] ; then
        echo "Riavviato il Router, ADSL KO"
        logger "Riavviato il Router, ADSL KO"
      else
        echo "Riavviato Modem, connessione di nuovo up, ADSL OK"
        logger "Riavviato Modem, connessione di nuovo up, ADSL OK"
        /opt/scripts/sendmailtestconn.sh "Riavviato Modem, connessione di nuovo up, ADSL OK"
      fi
    else
      echo "La wan e l'ADSL sono di nuovo OK"
      logger "La wan e l'ADSL sono di nuovo OK"
      /opt/scripts/sendmailtestconn.sh "La wan e l'ADSL sono di nuovo OK"
    fi
  fi  
#############ALTRIMENTI E TUTTO OK
else
  echo "Comunicazione con modem e internet funzionanti, tutto ok"
  logger -t testconn.sh "Comunicazione con modem e internet funzionanti, tutto ok"
fi
#############FINE
Visite totali139844
Questo sito web usa i cookies per gestire alcune funzionalità, quali navigazione, autenticazione, commenti, etc. Utilizzando il nostro sito web, accetti l'utilizzo dei cookies.