hoi,
ik heb net even tien minuutjes zitten knutselen in php, is het volgende uit gekomen:
In de array servers moet je alle servers zetten die je wilt checken. als je dan een cronjobje aanzet dat dit script bijv. elke 10 minuten uitvoert, en je plaatst deze scriptjes op verschillende servers op verschillende netwerken/datacenters, dan zou je er altijd op de hoogte van moeten zijn als een van je servers eruit vliegt.Code:<? error_reporting(0); $timeout = 10; $servers = array(); $servers[0] = array( 'naam' => 'Flexiserve', 'adres' => 'flexiserve.nl', 'contactemail' => 'info@flexiserve.nl', 'poorten' => '80,21,53,6666' ); $servers[1] = array( 'naam' => 'resellerhost', 'adres' => 'resellerhost.nl', 'contactemail' => 'info@resellerhost.nl', 'poorten' => '80,21,53,6666' ); foreach ($servers as $server) { $error = ""; $poorten = explode(",",$server['poorten']); foreach ($poorten as $poort) { $req = fsockopen($server['adres'], $poort, $error[0], $error[1], $timeout); if ((!$req) or ($error[0] != 0)) { $error .= "{$server['naam']} poort {$poort} NIET bereikbaar ($error[1])\n"; } } if($error != "") { mail($server['contactemail'], "Server Fouten!!!!", $error); } } exit; ?>
Kep op dit moment nog geen server down gehad (al een heeeeele tijd niet) dus ik weet niet zeker of het werkt in alle situaties, maar heb hem wel lokaal getest.