Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:01 Der er 11 kommentarer og
1 løsning

oppetid/nedetid på mere end en server

Hvordan gør jeg, så jeg kan se hvor lang tid mine server har været oppe siden sidste genstart.
lige nu har jeg denne www.sovsodt.dk/tid.php men vil gerne have sat lidt ekstra til den. Så der står en tæller i hvor lang tid serveren har kørt.
Avatar billede jpvj Nybegynder
07. maj 2004 - 16:03 #1
Hvilket OS kører din(e) server(e)?

Hvis unix/linux, så er her et exempel:

http://www.4webhelp.net/scripts/php/uptime.php
Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:06 #2
Jeg har både Linux og Windows 2000 server og de står flere steder i landet
Avatar billede jpvj Nybegynder
07. maj 2004 - 16:07 #3
Hvis du selv administrere dine servere, så kan du lave et lille script, der ex. kører en gang i minuttet og skriver oppetiden i ren tekst format til en lille fil. Denne fil kan du så hente med PHP og skrive outputtet...
Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:12 #4
jeg selv administrator på serverne, dog ikke på Mysql, men hvordan laver jeg det script og alt det der skal til
Avatar billede jpvj Nybegynder
07. maj 2004 - 16:19 #5
Det lyder på mig som om du vil have oppe tid for selve servicene (altså din SQL, SMTP, ... services) og ikke operativsystemerne?
Avatar billede jpvj Nybegynder
07. maj 2004 - 16:20 #6
I Windows kan du benytte at kommandoen til at køre et lille program (som du nok skal finde eller skrive selv).

I Unix kan du lave et cron job der piper uptime ned i en fil.
Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:20 #7
ja, det er rigtigt
Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:24 #8
findes der ikke andre måder at gøre det på
Avatar billede sylvesternielsen Nybegynder
07. maj 2004 - 16:45 #9
I windows kan du bruge denne funktion:

    function uptime()
    {
    $uptimeStamp = filemtime("c:/pagefile.sys");
    $uptime = time() - $uptimeStamp;
    $days = floor($uptime / (24*3600));
    $uptime = $uptime - ($days * (24*3600));
    $hours = floor($uptime / (3600));
    $uptime = $uptime - ($hours * (3600));
    $minutes = floor($uptime /(60));
    $uptime = $uptime - ($minutes * 60);
    $seconds = $uptime;
    $theuptime = $days." dage, ".$hours." timer, ".$minutes." minutter og ".$seconds." sekunder";
    return $theuptime;
    }

til linux har jeg fundet den her:

  function uptime () {
    global $text;
    $fd = fopen('/proc/uptime', 'r');
    $ar_buf = split(' ', fgets($fd, 4096));
    fclose($fd);

    $sys_ticks = trim($ar_buf[0]);

    $min = $sys_ticks / 60;
    $hours = $min / 60;
    $days = floor($hours / 24);
    $hours = floor($hours - ($days * 24));
    $min = floor($min - ($days * 60 * 24) - ($hours * 60));

    if ($days != 0) {
      $result = "$days " . $text['days'] . " ";
    }

    if ($hours != 0) {
      $result .= "$hours " . $text['hours'] . " ";
    }
    $result .= "$min " . $text['minutes'];

    return $result;
  }

Begge kræver root adgang.
Avatar billede sylvesternielsen Nybegynder
07. maj 2004 - 16:47 #10
Hov. det var jo lige et svar.
Avatar billede ravsted_dk Nybegynder
07. maj 2004 - 16:57 #11
den til windows kan jeg ikke få til at virker
Avatar billede ravsted_dk Nybegynder
20. juni 2004 - 12:04 #12
Lukker
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