Pagina 1 di 1
[Risolto] Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 13:02
da asaki
Salve,qualcuno sà dove trovare o come fare uno script per pingare ( pc,stampanti,nas) in una rete lan per poi inviare i risultati via email usando sendmail oppure php ?
ho bisogno di sapere se una macchina và in offline in modo da poterla ripristinare prima possibile.
grazie
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 13:35
da SuperStep
dovresti fare un pool infinito dei vari device e parsare l'output per vedere cosa ne esce fuori
io lo strutturerei così:
1) creerei un array con gli indirizzi dei vari device.
2) ciclerei l'array per pescare tutti gli indirizzi
3) per ogni indirizzo utilizzerei il comando ping -c 1 scrivendo una funzione che mi parsa l'output (probabilmente ping stesso possiede dei parametri per restituire vero o falso).
4) se il risultato è falso manderei la mail con il comando mail
quando il ciclo finisce utilizzerei una variabile per conservare lo sleep prima di ricominciare
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 13:41
da asaki
Non sapresti indirizzarmi dove trovare una cosa del genere?
io non ho la capacità tecnica per farlo da zero, posso solo prendere qualcosa di già fatto dalla rete e modificarlo.
Grazie
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 14:26
da rai
Codice: Seleziona tutto
#! /bin/bash
subnet="192.168.1" # adattala alla tua LAN
for N in $(seq 1 254); do
ping -c 1 $subnet.$N >/dev/null || echo "$subnet.$N DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
done
prova a partire da questo
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 16:07
da asaki
È quello che cerco ,chiedo una piccola modifica ,la possibilità di inserire ip statici non la scansione completa .
192.168.2.1, 192.168.2.6 separati da virgola o spazi .
grazie mille
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 18:52
da rai
se hai pochi ip statici va bene usare un array come consigliava SuperStep
Codice: Seleziona tutto
#! /bin/bash
attesa=60 # metti qui i secondi di attesa tra ogni verifica
LAN=(192.168.0.3 192.168.0.5) # metti qui gli IP effettivi separati da spazi
while :; do
for IP in ${LAN[@]}; do
ping -c 1 $IP >/dev/null || echo "$IP DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
done
sleep $attesa
done
considera che il precedente script resterebbe perennemente in esecuzione;
è del tutto equivalente (IMO consigliabile) fare invece così:
Codice: Seleziona tutto
#! /bin/bash
LAN=(192.168.0.3 192.168.0.5) # metti qui gli IP effettivi separati da spazi
for IP in ${LAN[@]}; do
ping -c 1 $IP >/dev/null || echo "$IP DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
done
salva il precedente codice p.es. nel file /percorso/pippo e rendilo eseguibile
esegui
e aggiungi alla fine del file che ti si apre la riga seguente
salva ed esci
questo eseguirà la verifica lanciando lo script ogni minuto. Puoi cambiare la frequenza a piacere come
vedi qui o se scegli la prima soluzione modificando il valore della variabile
attesa
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 19:13
da asaki
ringrazio tutti molto gentili.
con crontab è il sistema perfetto.
su ubuntu 12.04 bisogna installare altro oltre sendmail pare che attualmente non invia email.
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 20:01
da rai
in questo forum, ormai lo saprai, la regola è: un argomento/una discussione, questo per tenere pulite le discussioni per le future ricerche.
poni un'altra domanda riguardo alla configurazione di sendmail o ssmtp
PS ricorda di mettere il [Risolto] all'inizio del titolo del tuo primo post
Re: Script test pc rete lan
Inviato: lunedì 15 giugno 2015, 20:03
da asaki
Grazie a tutti.