Avatar billede vallemanden Nybegynder
18. maj 2004 - 14:23 Der er 24 kommentarer og
2 løsninger

oppe tid på Apache og FTP server

Hej

Er det muligt at finde oppe tiden på Apache og en FTP server i PHP ligesom man kan i MySQL?
http://www.night.dk/server.php


Vallemanden
prog@night.dk
Avatar billede rasmusbg Nybegynder
18. maj 2004 - 14:42 #1
Typisk skriver serverne en linie i en logfil, når de bliver startet. Men ellers tror jeg ikke man kan...
Avatar billede zeled Nybegynder
18. maj 2004 - 14:59 #2
exec("uptime");
Avatar billede vallemanden Nybegynder
18. maj 2004 - 15:08 #3
-->zeled

kan du forklare lidt mere?

hvis jeg bare skriver <? exec("uptime"); ?> sker der ike noget
P.S.
Jeg er ret ny i PHP
Avatar billede noob2003 Nybegynder
18. maj 2004 - 15:20 #4
?
///////////////////// Uptime på dansk //////////////////////
// OBS: Virker kun på *nix-maskiner. Viser serverens      //
// oppetid på dansk.                                      //
// Dette script er downloaded fra rolator.dk              //
// Lad venligst være med at distribuere dette script,    //
// må kun downloades fra rolator.dk. Har du hentet det    //
// fra et andet sted, kontakt da webmaster på rolator.dk  //
// på webmaster@rolator.dk og fortæl hvor og hvornår.    //
////////////////////////////////////////////////////////////

// Variabler (til sprog)
$text['days']          = 'dage';
$text['hours']          = 'timer';
$text['minutes']        = 'minutter';

// Selve funktionen
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;   
}

// Vis uptime
echo uptime();
?>
Avatar billede noob2003 Nybegynder
18. maj 2004 - 15:20 #5
Ups glemte "<" før ? i toppen :-)
Avatar billede vallemanden Nybegynder
18. maj 2004 - 15:31 #6
noob2003

kig lige på www.night.dk/server.php
den kommer med fejl
Avatar billede rasmusbg Nybegynder
18. maj 2004 - 15:33 #7
Det er fordi din server ikke kører med et *nix OS
Avatar billede vallemanden Nybegynder
18. maj 2004 - 15:34 #8
Det er en win 2003 adv. server jeg bruger :-(
Avatar billede rasmusbg Nybegynder
18. maj 2004 - 15:35 #9
Så kan du ikke bruge det php-script, noob2003 har postet...det står også i kommentaren øverst i scriptet ;o)
Avatar billede vallemanden Nybegynder
18. maj 2004 - 15:37 #10
Jeps det så jeg også :-/
Avatar billede noob2003 Nybegynder
18. maj 2004 - 16:05 #11
Avatar billede vallemanden Nybegynder
18. maj 2004 - 16:13 #12
ja :-)
Avatar billede vallemanden Nybegynder
18. maj 2004 - 16:13 #13
designet skal i ikke tænke på
Avatar billede noob2003 Nybegynder
18. maj 2004 - 17:55 #14
filen hedder uptime.aspx

<-- kode start -->
<%@ Page language="c#" %>
<%@ Import Namespace="System.Diagnostics" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
  <head>
<LINK href="css/style2.css"
type=text/css rel=stylesheet>
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft FrontPage 5.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
    <base target="nederst">
  </head>
  <body bgcolor="#005B70" MS_POSITIONING="GridLayout">
   
    <script Language="C#" Runat="Server">
      protected void Page_Load(object sender, System.EventArgs e)
      {
          PerformanceCounter pc = new PerformanceCounter("System","System Up Time");
      pc.NextValue(); //Normally starts with zero. do Next Value always.
          TimeSpan ts = TimeSpan.FromSeconds(pc.NextValue());
           
          Response.Write("<b>Windows 2003 Server  oppetid er " +ts.Days +" dage " +ts.Hours + " timer " +ts.Minutes +" minutter");
      }
    </Script>   
    </body>
</html>

<-- kode slut -->
Avatar billede vallemanden Nybegynder
18. maj 2004 - 19:03 #15
kan det køre på PHP?
og skal der sættes noget op i apache?

for jeg kan ikke få det til at virke
Avatar billede zeled Nybegynder
19. maj 2004 - 09:20 #16
En søgning på google gav bl.a. dette lille script som KUN kan køre på win

++++++++++++++++++++++++++++++++++
+ Apache Server Uptime 4 Windows +
+ Version: 1.0                  +
++++++++++++++++++++++++++++++++++

(C) 2004 by Mazmann

Version tracking:
-----------------------------------
+ v.1.0 Beta release              +
+ v.1.1 Minor modifications by LX +
-----------------------------------

Deutsche Version:

Einfach nur diesen Teil an die Stelle kopieren an der ihr wollt dass die Uptime
erscheinen soll.

<?
    $server = "SERVERNAME";                //Server Name ändern
    $test= filemtime("c:/pagefile.sys");  // Pfad zur Auslagerungsdatei (ggf. anpassen)
    $up = time() - $test;
    $tage = floor($up / 86400);
    $up -= ($tage * 86400);
    $stunden = floor($up / 3600);
    $up -= ($stunden * 3600);
    $minuten = floor($up / 60);
    $up -= ($minuten * 60);
    $sekunden = $up;
    echo $server." Uptime: ".$tage." Tage, ".$stunden." Stunden, ".$minuten." Minuten und ".$sekunden." Sekunden";
?>

----------------------------------

Viel Spass!!

Feedback: server@mazmann.lu

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

English Version:

Simply copy the following code and insert it at the place you want the Uptime
to appear.

<?
    $server = "SERVERNAME";                //Change the Servername
    $test= filemtime("c:/pagefile.sys");  // Path to your Swap File (adjust it if necessary)
    $up = time() - $test;
    $tage = floor($up / 86400);
    $up -= ($tage * 86400);
    $stunden = floor($up / 3600);
    $up -= ($stunden * 3600);
    $minuten = floor($up / 60);
    $up -= ($minuten * 60);
    $sekunden = $up;
    echo $server." Uptime: ".$tage." days, ".$stunden." hours, ".$minuten." minutes and ".$sekunden." seconds";
?>

----------------------------------

Enjoy!!

Feedback: server@mazmann.lu
Avatar billede noob2003 Nybegynder
19. maj 2004 - 12:41 #17
Undskyld jeg spørger men hvorfor købe en win 2003 adv. server og installere apache på den når der er IIS man kan sætte op med php hvis det er ???

Så kunne man spare nogle tusind kroner ved at købe en w2k pro :-)
Avatar billede zeled Nybegynder
19. maj 2004 - 13:53 #18
Det kan jo tænkes den skal bruges til andet end apache/php
Avatar billede vallemanden Nybegynder
19. maj 2004 - 16:29 #19
Zeled det ser ud til at det virker :-)
Så mangler jeg bare til ftp servern
Avatar billede vallemanden Nybegynder
22. maj 2004 - 02:22 #20
ikke nogen der ved hordan man finder oppe tiden på FTP servern, det skal lige siges at alle 3 køre på samme maskine

V
Avatar billede vallemanden Nybegynder
27. maj 2004 - 12:54 #21
-->Zeled
Det script du har skrevet giver IKKE 'oppetid' på selve Apache men på den server Apache er instaleret på

V
Avatar billede noob2003 Nybegynder
27. maj 2004 - 13:33 #22
vallemanden >> mener ikke at ha set at man kunne se oppetid på apache, KUN selve serveren
Avatar billede zeled Nybegynder
27. maj 2004 - 13:39 #23
Det er korrekt.

Man kan IKKE se oppetiden på de enkelte services, med mindre de leveret informationen selv, hvilket apache ikke gør.

Desuden så burde apache, ftp etc. kører ved start, så oppetid på apache er det samme som serveren.
Avatar billede vallemanden Nybegynder
27. maj 2004 - 13:40 #24
noob2003 det er også den konklution jeg er kommet til desvære, så hvad gør jeg lige her eftersom der ikke er kommet med et rigtigt svar? skal jeg lade ? stå åbent indtil der evt. kommer et svar eller skal jeg lukke og tage point selv, eller??

V
Avatar billede vallemanden Nybegynder
27. maj 2004 - 13:41 #25
jeg tror jeg giver Zeled halvdelen da jeg engentlig godt kan bruge det skript et andet sted, er det lovligt at gøre dette her på EXP
Avatar billede zeled Nybegynder
27. maj 2004 - 13:49 #26
I princippet kan du vel godt... ;)
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