Hallo, Am Freitag, 17. Juni 2011 05:03 schrieb slz - bo:
Am 16.06.2011 20:36, schrieb Christian Meseberg:
Hallo zusammen,
slz bo meinte am Donnerstag, den 16.06.2011 um 20:26 Uhr wegen:Abfrage, ob Rechner läuft
... steh gerade auf dem Schlauch: suche einen einfachen Linux-Befehl, der mir auswertet, ob ein bestimmter Rechner im Netz erreichbar ist. mfg bo
ping
... und dann? Ergebnis sind mehrere Zeilen ...
Wie kann ich das in einem Script auswerten?
Ich benutze seit einer Weile folgendes, für ein Netz mit ca. 70 Rechnern. #!/bin/bash # schick-info zu=a@b.c,d@e.f function suchRechner() { if ping -c1 -w5 $1 > /dev/null then echo -n "$1 ";host $1|cut -d" " -f 5 fi } # Liste laufender Rechner Rechner=172.16.200.11-189,202-208,210-255 Server=172.16.200.1,5,10 Verschiedene=172.16.200.2-4,6-9,190-201,209 if test -z $(suchRechner 172.16.200.1) ; then warn="### WARNUNG - NR.1 LAEUFT NICHT ###" ; fi ( echo "Rechner: " $Rechner ; echo ; \ for i in 172.16.200.202 172.16.200.204 ; do suchRechner $i ; done ; \ nmap -sP $Rechner ; \ echo ; echo ; echo "Server: " $Server ; nmap -sP $Server ; \ ) | mail $zu -s "running mules $warn" und auf einem uralten Rechner ohne nmap oder fping... #!/bin/bash #Rechner=172.16.200.11-189,202-208,210-255 Rechner="$(seq 11 189) $(seq 202 208) $(seq 210 255)" #Server=172.16.200.1,5,10 Server="1 5 10" function suchRechner() { if test $(ping -c1 172.16.200.$1 \ |grep -b1 "received, 0"|head -1|cut -d" " -f2) then echo -n "172.16.200.$1 " echo $(host 172.16.200.$1 |grep Name |cut -d" " -f2) return 1 else return 0 fi } # extra doppelt gesucht, damit die Warnung auch im Betreff der Mail steht!! if test ! $(suchRechner 1) then warn="### WARNUNG - NR.1 LAEUFT NICHT ###" fi ( echo $(date) echo echo Rechner echo for n in $Rechner do suchRechner $n done echo echo echo Server echo for n in $Server do if test $n = 1 then if test ! $(suchRechner $n) then echo $warn echo fi else suchRechner $n fi done echo echo echo "Herzliche Gruesse!" ) | /bin/mail a@b.d -s "running mules $warn" Aufruf jeweils über cron als beliebiger Benutzer, das zweite Skript braucht etwa 40 Minuten, das das ping dort noch kein -w kennt (nmap gibts da auch nicht). Außerdem produziert es Fehlermeldungen, wenn der Hostname nicht gefunden werden kann, daher in der crontab &> /dev/null. HTH -- Herzliche Grüße! Rolf Muth Meine Adressen duerfen nicht fuer Werbung verwendet werden! PGP Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xF8DC41935544C89A Analoge Uhr (clock): http://www.heise.de/software/download/analoge_uhr/61872