0

我尝试制作一个脚本来检查我的服务器是在线还是离线:

<?

    $server = "12.34.56.78";

    $check = @fsockopen($server, 22);

    if ($check) {
        @fclose($check);
        echo "online";
        exit;
    }else{
        echo "offline";
    }

?>

所以这个脚本有效,但我怎样才能制作可以检查多个 IP 地址的脚本?

问候,马蒂亚斯

4

3 回答 3

2
function checkServerOnline($server, $port = 22) {
    $check = @fsockopen($server, $port);
    if ($check) {
        @fclose($check);
        return true;
    } else {
        return false;
    }

然后您可以使用各种服务器端口组合来调用它。

于 2010-08-04T11:11:28.023 回答
2
$servers = Array("server1", "server2");

foreach ($servers as $server) {
  // same as before
}
于 2010-08-04T11:11:55.183 回答
1

有现成的开源工具。

查看Nagios - 开源监控的行业标准

Nagios 是一个功能强大的监控系统,使组织能够在 IT 基础架构问题影响关键业务流程之前识别和解决这些问题。

Nagios 监控您的整个 IT 基础架构,以确保系统、应用程序、服务和业务流程正常运行。如果发生故障,Nagios 可以提醒技术人员该问题,允许他们在中断影响业务流程、最终用户或客户之前开始修复流程。使用 Nagios,您将永远不必解释为什么看不见的基础设施中断会损害您组织的底线。

于 2010-08-04T11:11:35.617 回答