Linux Uptime => Datum & Uhrzeit umwandeln

  • Ersteller Ersteller User0
  • Erstellt am Erstellt am
U

User0

Gast
Hallo,
kennt jemand die Lösung für das umwandeln des Php-Code's
so das nicht Stunden und Sekunden erscheinen,
sondern das ganze im Resultat aussieht wie folgt:

Last Server Reboot: 18.07.2012 / 12:30 Uhr

ist das Möglich und hilft mir jemand dabei?

PHP:
<?php
function linuxUptime() {
  $ut = strtok( exec( "cat /proc/uptime" ), "." );
  $days = sprintf( "%2d", ($ut/(3600*24)) );
  $hours = sprintf( "%2d", ( ($ut % (3600*24)) / 3600) );
  $min = sprintf( "%2d", ($ut % (3600*24) % 3600)/60  );
  $sec = sprintf( "%2d", ($ut % (3600*24) % 3600)%60  );
  return array( $days, $hours, $min, $sec );
}

$ut = linuxUptime();
// If you would like to show the seconds as well just add [ , $ut[3] seconds ] after minutes.
echo "Time since last reboot: $ut[0] days, $ut[1] hours, $ut[2] minutes";
?>
 
Zuletzt bearbeitet von einem Moderator:
<- ist gerade blind,
wo soll das hinkommen das "who –b"?
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank @Maysi2k
was mich nun noch sehr stark interessieren würde,
wie ich das System Boot am Anfang entferne und daraus ein deutsches Datum mache?

Also Quasi: Last Server Reboot: 18.07.2012 / 12:30 Uhr
 
Zuletzt bearbeitet von einem Moderator:
Puh, auf anhieb habe ich da nichts "kurzes" auf lager.
Ich vermute mal, dass du mit einer Schleife die ersten 12 Zeichen des Strings entfernen musst und den rest dann in eine neue Variabele schreibst.

Geht aber vllt auch kürzer.

LG


EDIT: Guck mal hier, hier könntest du die ganze Ausgabe in ein Array speichern und dann die einzelen Buchstaben ausgeben: http://cedric-wetzel.eu/2009/05/einzelne-buchstaben-aus-einem-string-in-array-speichern.html

wäre dann z.B.

Code:
echo 'Last Server Reboot: $string[21]$string[22].$string[18]$string[19].$string[13]$string[14]$string[15]$string[16] / $string[24]$string[25]:$string[27]§string[28] Uhr';
 
Zuletzt bearbeitet:
Hmm bin ich auch überfragt grad, aber dennoch ert mal Danke für Deine Hilfe.
Vielleicht gibts ja noch ne Lösung dafür.
 
Einfach das Datum parsen und wie du willst ausgeben?

ist ja nicht gerade magie
 
Hallo beig1,
nun als Laie ist mir das Wissen dies zu verwirklichen noch nicht gegeben.
Daher muss ich mich etwas schwerfällig präsentieren,
aber gewillt zum lernen.
Nur läss sich das mal nicht au die Schnelle schaffen und
ich wollte eigendlich keine Woche brauchen um das fertig zu haben.
 
Mit substr die letzten 16 Zeichen rausholen, da der Text vorne dran von der OS-Sprache abhängt.
 
Code:
date +"Last Server Reboot: %d.%m.%y / %H:%m" -d @$(( $(date +%s) - $(cut -f1 -d. /proc/uptime) ))

Viel Spaß.
 
Zurück
Oben