Avatar billede darkdruid Nybegynder
10. december 2003 - 12:05 Der er 8 kommentarer og
1 løsning

FTP Uptime på personlig server

Hejsa..

Jeg har lige sat en lille FTP server op på min egen computer og jeg bruger det program der hedder BulletProof FTP Server v2.21.
Jeg vil bare lige høre om der findes et script der kan vise Uptime på ens server.
Min hjemmeside er hostet hos frac.dk så det skal selvfølgelig være et script der virker sådan at den bare henter IP'en til serveren og Porten som den skal lytte til, og hvor den så udskriver om serveren er online eller offline.

Jeg har søgt herinde.. men de scripts som jeg fandt kunne jeg ikke få til at virke.. Jeg håber der er nogen der kan hjælpe.

/out Dark Druid
Avatar billede sukos Juniormester
10. december 2003 - 12:55 #1
uptime og online/ikke online er jo to forskellige ting.

Men du vil blot tjekke om siden kører?
Avatar billede darkdruid Nybegynder
10. december 2003 - 14:40 #2
Nå ja.. tænkte ikke lige over at uptime er hvor lang tid serveren har kørt.
Men ja, jeg mangler bare et script som viser om serveren kører eller ej.
Avatar billede xtr Nybegynder
11. december 2003 - 04:38 #3
<?
$ip=localhost;
$port=21;

if(fsockopen($ip,$port))
    {
  echo "<b>Ftp-server:</b> Online<br>";
    }
      else {
  echo "<b>Ftp-server:</b> <strike>Offline</strike><br>";
    }

?>



det gør du sådan der....
Avatar billede darkdruid Nybegynder
11. december 2003 - 18:42 #4
Scriptet virker fint når serveren er online... men når den er offline får jeg denne fejl:

Warning: fsockopen() [function.fsockopen]: php_hostconnect: connect failed in /web/www/frac/users/darkdruid/index.php on line 60
Warning: fsockopen() [function.fsockopen]: unable to connect to 80.62.127.130:21 in /web/www/frac/users/darkdruid/index.php on line 60

Kan man ikke gøre sådan at hvis den ikke finder ip'en til serveren så skriver den bare offline?
Avatar billede xtr Nybegynder
11. december 2003 - 20:15 #5
hmm... den fejl fik jeg ikk, men kigger lige på det, og vender hurtigt tilbage
Avatar billede xtr Nybegynder
11. december 2003 - 20:21 #6
nå.... har fixet lidt rundt og se her

den her den virker.. og så er den ret sød syntes jeg :=)



<table height="300">
    <tr>
        <td width="20"></td>
        <td valign="top">
<span class="txt">
<p></p><br>
<b>Services information</b>
<p></p><br>
<?
$PortName = array(80=>"HTTP",  21=>"FTP", 110=>"POP3", 25=>"SMTP", 23=>"Telnet", 123=>"NTP", 119=>"News", 3306=>"MySQL");
$PortsToTest = array(21, 3306, 80, 110);

function Validate_IP($ip) {
    if (is_string($ip) && ereg('^([0-9]{1,3}).([0-9]{1,3}).'.'([0-9]{1,3}).([0-9]{1,3})$', $ip, $part)) {
        if ($part[1] <= 255 && $part[2] <= 225 && $part[3] <= 255 && $part[4] <= 255) {
            return true;
        }
    }
return false;
}

function CheckService($port, $server) {
    $ch = @fsockopen($server, $port, $errno, $errstr, "5");
    if ($ch) {
        $status[0] = true;
        $status[1] = "OK";
        @fclose($ch);
    }
    else {
        $status[0] = false;
        $status[1] = $errstr;
    }
return $status;
}

function checkhost($host = localhost, $port, $timeout = 30) {
    $noc_test = fsockopen($host, $port, $errno, $errstr, $timeout);
    if ($noc_test) {
        fclose($noc_test);
        return $noc_test;
    }
    else
    { }
}




$server = chop(trim($server));

if (empty($server)) {
    $server = "127.0.0.1";
}

if (Validate_IP($server)) {
    $ip = $server;
    $host = gethostbyaddr($ip);
}
else {
    $ip = gethostbyname($server);
    $host = $server;
}
?>

<div align="center">Testing services at <?=$host?>...</div>
<br><br>

<table border="0" cellspacing="0" cellpadding="2" align="center" style="border: 1px dotted #000000;">
<tr>
    <td style="border: 1px dotted #000000;"><strong>Service</strong></td>
    <td style="border: 1px dotted #000000;"><strong>Status</strong></td>
    <td style="border: 1px dotted #000000;"><strong>String</strong></td>
</tr>
<?
foreach ($PortsToTest as $port) {
    $Status = CheckService($port, $server);
    echo "<tr>";
    echo "<td style=\"border: 1px dotted #000000;\"><strong>$PortName[$port]</strong></td>";
    if ($Status[0]) {
        echo "<td style=\"border: 1px dotted #000000; color: Lime;\">Online</td>";
    }
    else {
        echo "<td style=\"border: 1px dotted #000000; color: Red;\">Offline</td>";
    }
        echo "<td style=\"border: 1px dotted #000000;\">$Status[1]</td>";
    echo "</tr>";
}
?>

</table>

<br><br>
<form action="<?=$PHP_SELF?>" method="post">
<table align="center" cellspacing="2" cellpadding="0" border="0">
<tr>
    <td align="center"><span class="txt">Want to test another server?</span></td>
</tr>
<tr>
    <td align="center"><input type="text" name="server" value="<?=$server?>"></td>
</tr>
</table>

<p></p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="Get Informations!">
</form>
        </td>
    </tr>
</table>

pøj pøj med det du....


ps.. bare smid det i en index.php og kast den op den er testet på windåse og der virker den
Avatar billede darkdruid Nybegynder
29. december 2003 - 22:24 #7
Undskyld jeg først svarer nu.... har haft så meget om ørerne på det sidste.

Scriptet virker perfekt xtr.. ka du lige smide et svar så du ka få de point der?
Avatar billede darkdruid Nybegynder
03. februar 2004 - 22:35 #8
øf
Avatar billede frommer Nybegynder
04. februar 2004 - 02:11 #9
men øf
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester