Netzwerkgeräte: Verfügbarkeit mittels Perl-oneliner prüfen: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden. == Definition: == <nowiki>define myTest at …“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen. | Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen. | ||
[[Kategorie:Code Snippets]] |
Version vom 11. Mai 2013, 23:30 Uhr
Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden.
Definition:
define myTest at +*00:00:30 {use Net::Ping;;my $p=Net::Ping->new("tcp", 1,64);;my @ip=('192.168.0.1','192.168.0.2','192.168.0.4','192.168.0.5');; foreach(@ip){if($p->ping("$_")){Log 1,"$_ antwortet";;}else{Log 1,"$_ antwortet nicht";;}}}
Erläuterungen:
Dieser Test benutzt Net::Ping, dabei kann Ping nicht in seiner "stärksten" Version als ICMP-Ping benutzt werden, da für einen ICMP-Ping root-Rechte benötigt werden. Daher wird "nur" der TCP-Ping verwendet, der aber bei normalen Geräten auch anstandlos funktionieren sollte (getestet mit Debian, Ubuntu, Windows 7).
In dem Array @ip werden die IP-Adressen eingetragen. Danach wird durch eine Schleife jede dieser Adressen angepingt.
Ist die IP-Adresse erreichbar, dann wird eine positive Meldung ins Log geschreiben, wenn nicht, dann eine negative.
Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen.