aus Eigeninitiative habe ich mir ein kleines PHP-Skript gebastelt, welches es mir ermoeglicht auf eine Samba-Freigabe auf meinem Linux-Server von allen Rechnern eine Stoerungsanalyse zu sammeln - und das unkompliziert.
Ich habe bei mir vier aktiv genutzte Rechner und aktuell gibt es des Oefteren mal erhoehte Latenzen, sodass man von Spieleservern geworfen wird usw. Um den Prozess etwas zu erleichtern, kann ich von jedem Rechner aus dieses Skript starten und habe die Ergebnisse auf meinem Server liegen. Die brauche ich dann nur noch an eine Mail an Kabel Deutschland anzufuegen.
Das loest keine Probleme, aber hilft bei der Datensammlung.
Hier das Skript (test.php) fuer mein Netzwerk, wie ich es aktuell nutze:
Code: Alles auswählen
<?php
/**********
PING und ROUTENVERFOLGUNG zusammengefasst fuer Stoerungsanalyse
Dateien, die erzeugt werden, koennen an den Dienstanbieter per Mail geschickt werden.
Wichtig ist, dass moeglichst mit mehreren Betriebssystemen probiert wird.
AUFRUF: php test.php [NUTZER] [HOST]
BEISPIEL: php test.php win google.de
**********/
// Pfadangaben:
$path=array(
"server" => "/var/smb/Kabel/",
"netbook" => "/mnt/smb/Kabel/",
"win" => "Z:\\Kabel\\"
);
// Befehle fuer Ping:
$ping=array(
"server" => "ping -c 100",
"netbook" => "ping -c 100",
"win" => "ping -n 100"
);
// Befehle fuer Routenverfolgung:
$route=array(
"server" => "traceroute",
"netbook" => "traceroute",
"win" => "tracert"
);
// Zum Filtern der Schluessel...
$keys=array_keys($path);
// Validierung...
if($_SERVER['argc']<3
|| !in_array($_SERVER['argv'][1],$keys)
|| preg_match("/[^a-z^A-Z^0-9\.\-]/",$_SERVER['argv'][2]))
exit; // Und wenn diese fehlschlaegt, dann Stopp!
// Dateibezeichnung fuer Host und Nutzer sowie Zeitstempel
$file_argv=preg_replace("/[^a-z^A-Z^0-9]/","-",$_SERVER['argv'][2])."_".$_SERVER['argv'][1];
$file_time=date("Ymd-Hi");
// Ping...
echo "Storing '".$ping[ $_SERVER['argv'][1] ]."' for '".$_SERVER['argv'][2]."' to '".$path[ $_SERVER['argv'][1] ]."'...";
exec($ping[ $_SERVER['argv'][1] ]." ".$_SERVER['argv'][2]." > ".$path[ $_SERVER['argv'][1] ].$file_time."_ping_".$file_argv.".txt");
echo " DONE\n";
// Routenverfolgung...
echo "Storing '".$route[ $_SERVER['argv'][1] ]."' for '".$_SERVER['argv'][2]."' to '".$path[ $_SERVER['argv'][1] ]."'...";
exec($route[ $_SERVER['argv'][1] ]." ".$_SERVER['argv'][2]." > ".$path[ $_SERVER['argv'][1] ].$file_time."_route_".$file_argv.".txt");
echo " DONE\n";
// Benutzer ueber Skriptende informieren...
echo "\nProcesses finished.\n";
?>
Viel Spass damit und moege eure Arbeit damit erleichtert sein!