Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-07-2012, 14:28   #1
w0nz3r
Member
 
Iscritto dal: Mar 2006
Messaggi: 61
[BASH]Monitoring script

Ciao ragazzi,

ho bisogno di una mano
Avrei bisogno di monitorare alcuni server e farmi inviare mail se uno di questi non risponde al ping.
Necessito però di utilizzare un file (list.txt) che contiene 3 colonne (nome server, ip gataway, ip address) e n righe.

Il file (list.txt) è così composto (esempio):

Codice:
server1      30.30.30.1   30.30.21.1
server2      30.30.30.2   30.30.21.2
server3      30.30.30.3   30.30.21.3
Il mio bash script (incompleto) è questo:

Codice:
#!/bin/bash

#Check IP
for i in $(cat list.txt | awk '{ print $2}')
do
                #n=$(cat lista | awk '{ print $1}')
                ping -c 1 -w 1 $i &> /dev/null
                if [ $? -ne 0 ]; then
                echo "GW $i DOWN!"
fi
done
Lo script funziona, ma la variabile $i è l'ip del GW, mentre io vorrei che apparisse il nome del server down (colonna 1).

Se rimuovo il commento da #n=$(cat lista | awk '{ print $1}') e inserisco la variabile $n in "echo" (echo "GW $n DOWN!") mi da giustamente come output tutta la lista della colonna 1...
Dovrei poi inserire allo stesso modo il check della colonna 3 e l'alert via mail (check ogni 15 min nel crontab).

Grazie a tutti per l'aiuto!

-w-
w0nz3r è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2012, 16:17   #2
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1691
Ciclare sulle intere righe del file e separare ip, nome e gateway all'interno del ciclo?

Rapidamente (sicuramente la sintassi va corretta):

Codice:
for i in $(cat lists.txt)
do
	ip = echo $i | awk '{ print $2}'
	server = echo $i | awk '{ print $1}'
	ping -c 1 -w 1 $ip &> /dev/null
                
	if [ $? -ne 0 ]; then
		echo "GW $server DOWN!"
	fi
done
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2012, 17:20   #3
w0nz3r
Member
 
Iscritto dal: Mar 2006
Messaggi: 61
Grazie 1000,

utilizzando la tua idea sono riuscito nel mio intento.
Ho utilizzato però un ciclo while in questo modo:

Codice:
#Check IP
while read server gw ip; do
   if ! ping -c 1 -w 1 $ip &> /dev/null ; then
      echo "GW $server ($gw) IS DOWN!"
   fi
done < lista.txt

while read server gw ip; do
   if ! ping -c 1 -w 1 $ip &> /dev/null ; then
      echo "IP $server $gw IS DOWN!"
   fi
done < list.txt
Gentilissimo!


Già che ci sono...
Posso utilizzare un solo ciclo while? Se si in che modo?
Inoltre dovrei fare in modo che mandi una mail solo se entrambi gli ip ($ip e $gw) dello stesso host ($server) siano down.
E con questa avrei concluso!

Grazie ancora...
w0nz3r è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Amazon in delirio da sconti: 22 articoli...
EOLO ha più di 700 mila utenti in...
Una spin-off del MIT ha creato dei super...
Il radiatore di una BMW M4 per raffredda...
OpenAI accelera su GPT-5: lancio estivo ...
È indietro e deve reagire: il CEO...
Samsung Galaxy Buds3 a 86€, Bose QuietCo...
Addio feed MSN: Microsoft punta tutto su...
GPD Win 5 con il superchip AMD fa volare...
Top 7 Amazon bestseller: classifica scon...
Nexamp ha un'idea per attivare un campo ...
L'app PostePay non funzionerà pi&...
Svelati i colori di iPhone 17 Pro: tutte...
Elon Musk rompe il silenzio sulla Tesla ...
AirPods Pro 2 tornano a 199€ e restano l...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v