Archiv verlassen und diese Seite im Standarddesign anzeigen : Script zur Überprüfung der Erreichbarkeit der Clients
Hi,
ich bin Anfänger in Sachen Perl und PHP, will aber für mein Netzwerk eine DB basteln. In dieser DB sind die Clients mit ihrer IP Adresse gespeichert, nun will ich, dass alle IP Adressen z.B. mit
fping -af /path/to/file
angepingt werden und der Status in die DB zurückgeschrieben wird...
Da das z.B. als Cron Job alle 10 Min gemacht werden soll, kann ich es doch nicht mit PHP machen?!
Für Lösungsansätze wäre ich dankbar!! :)
HI,
ich bin auch noch recht neu bei solchen sachen aber du kannst doch einfach ein shell script nehmmen und das als corn job laufen lassen hier ein beispiel !
ping deineip -c4 && echo Online || echo Offline
Ich hoffe das es dir hilft !
MFG Malcolm
naja, ich stelle mir das programm so vor:
aus einer datei, wie dieser:
begin of file:
192.168.0.1
194.25.5.24
172.16.10.11
usw.
end of file
soll das skipt jede ip adresse anpingen und das resultat in die mysql datenbank schreiben. die datei mit den ips kommt ebenfalls aus der db, ist also dynamisch...
:rolleyes:
tuxipuxi
11-02-2003, 15:27
mal langsam:
also das script soll die adressen aus der datei( alle einheitliche syntax ) anpingen und nur DIE, die auch geantwortet haben ausgeben?
Ja, halt nicht nur ausgeben, sondern in die Datenbank schreiben...
Hi,
das Auslesen und pingen geht z.B. so:
#!/bin/sh
CONFIG='/Path/to/file/with/ip/addresses'
PING='/bin/ping'
PING_PACKETS='1'
PING_WAIT='2'
add_to_database ()
{
echo "Adding IP '$1' with status '$2' to database"
}
while read ip;
do
status="offline"
$PING -c${PING_PACKETS} -w${PING_WAIT} $ip &>/dev/null
test $(echo $?) -eq 0 && status="online"
add_to_database $ip $status
done < $CONFIG
In der Funktion add_to_database() hast du dann in $1 die Ip-Adresse und in $2 den Status. Mit dem Datenbankeintrag an sich kann ich Dir leider nicht helfen.
Gruß micha
Ja, und wie bekomm ich den Kram in die DB????
Wie man die Clients anpingt hat der Kollege vorher ja schon geschrieben, aber der Status soll ja in die DB!´
Oder bin ich zu doof und raff es einfach nicht? :(
mehlvogel
12-02-2003, 09:11
Original geschrieben von knoesel
Da das z.B. als Cron Job alle 10 Min gemacht werden soll, kann ich es doch nicht mit PHP machen?!
Nur so zwischendurch: Das ist so nicht ganz richtig. PHP Skripte können sehr wohl als Cron Jobs laufen und dort arbeiten verrichten. Ich glaub im PHP Forum hatten wir da mal nen Thema zu (-> Suche).
Hier ist der Link von dem Mehlvogel sprach:
http://www.mrunix.de/forums/showthread.php?s=&threadid=30701
Mit PHP würde ich es übrigens so machen:
<?php
$file="ipliste.txt";
$ips=file($file);
foreach($ips as $ip) {
if(fopen("http://$ip")) {
//Eintragen in DB ... z.B. MySQL:
mysql_query("INSERT INTO ipliste SET IP='$ip'");
}
}
?>
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.