PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Uptime als Datumsangabe?



ChandlerBing
30.04.06, 13:10
Huhu,

ich suche eine Möglichkeit, die Uptime eines Systems als Datum zu erhalten. Also nicht "up for 2 days", sondern "up since april 28th".
uptime unterstützt so eine ausgabe nicht. Leider ist uptime auch nicht in der lage, die uptime als Unix-Timestamp in Sekunden auszugeben, sonst könnte man das mit date wieder zurückrechnen.
Kennt jemand eine Möglichkeit dafür?

Chandler

Der Gestreifte
30.04.06, 13:22
Ich glaub, der erste Wert in "/proc/uptime" ist die Zeit in Sekunden.
Ansonsten könntest Du auch den ersten Zeitstempel, den dmesg ausspuckt, benutzen.

drfish
30.04.06, 13:54
beim booten die Zeit in eine Datei hineinschreiben.. Dann im Skript sagen wir my_uptime diesen Wert lesen und die Differenz zum aktuellen Datum berechnen, formatieren etc..

ChandlerBing
30.04.06, 16:33
Danke euch beiden.

@Der Gestreifte: In /proc/uptime steht die Uptime in Sekunden. Ich suche ein Datum. Leider kann man cal/ncal nicht sagen, dass die einem das Datum vor x Sekunden geben sollen.
Die erste Zeitangabe in dmesg sieht nicht so aus als wäre das ein Datum (bzw. die seit dem 1.1.70 0:00 vergangenen Sekunden, das ist bei weitem zu wenig).

@drfish: Das ist natürlich eine Möglichkeit. Aber leider nicht für schon laufende Systeme.

Chandler

Der Gestreifte
30.04.06, 16:51
Leider kann man cal/ncal nicht sagen, dass die einem das Datum vor x Sekunden geben sollen.Wieso cal/ncal?
date -d -`cut -f1 -d\. /proc/uptime`seconds

Diozaka
30.04.06, 16:55
Das ist zwar relativ hässlich, aber es funktioniert. ;)

date -d "`cut -d. -f1 /proc/uptime` secs ago"

EDIT: Mist zu lahm, aber derselbe Ansatz. :)

MfG, Diozaka

ChandlerBing
30.04.06, 17:30
Sehr schick, ihr beiden!
So funktioniert es, danke euch!