Mailinglist Archive: opensuse-de (871 mails)

< Previous Next >
Re: Abfrage, ob Rechner läuft
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
< Previous Next >