it-swarm-eu.dev

linux-Uptime-Geschichte

Wie kann ich eine Verlaufsübersicht für meine Debian-Box erhalten? Nach einem Neustart sehe ich keine Option für den Befehl uptime, um einen Verlauf der Betriebszeiten zu drucken. Wenn es darauf ankommt, möchte ich diese Aktualisierungen verwenden, um eine Seite in PHP grafisch darzustellen, um die Laufzeit der Webserver zwischen den Booten anzuzeigen.

Update: Nicht sicher, ob es auf einer Zeitdauer basiert oder ob der letzte Neustart beim Neustart erfolgt. Ich erhalte jedoch nur den letzten Startzeitstempel mit dem letzten Befehl. last -x gibt auch keine weiteren Informationen zurück. Klingt nach einem Skript ist meine beste Wette.

Update: Uptimed ist die Information, nach der ich suche, und nicht sicher, wie diese Informationen im Code gespeichert werden. Das Verwalten meines eigenen Skripts für eine Datenbankbibliothek hört sich am besten für eine Anwendung an.

32
Jas

Sie könnten ein einfaches Skript erstellen, das die Betriebszeit ausführt und in eine Datei speichert.

uptime >> uptime.log

Dann richten Sie einen Cron-Job dafür ein.

26
etchasketch

Installiere uptimed . Es macht genau das, was Sie wollen.

Bearbeiten:

Sie können es so einfach in eine PHP-Seite einfügen:

<? system("/usr/local/bin/uprecords -a -B"); ?>

Beispiele - Link defekt?

47

der Befehl last gibt die Neustartzeiten des Systems an. Sie könnten den Unterschied zwischen jedem nachfolgenden Neustart nehmen, und dies sollte die Betriebszeit des Computers angeben.

Update

1800 INFORMATION Antwort ist eine bessere Lösung.

22
roo

gemäß last Handbuchseite:

Der Pseudo-Benutzer-Neustart meldet sich bei jedem Neustart des Systems an. Der letzte Neustart zeigt ein Protokoll aller Neustarts, seit die Protokolldatei Erstellt wurde.

die letzte Spalte des Befehls #last reboot gibt Ihnen den Betriebszeitverlauf:

#last reboot
reboot   system boot  **************** Sat Sep 21 03:31 - 08:27 (1+04:56)   
reboot   system boot  **************** Wed Aug  7 07:08 - 08:27 (46+01:19)
7
sepehr

Probieren Sie es aus: 

last | grep reboot 
5
none

Ich würde einen Cron-Job erstellen, der mit der erforderlichen Auflösung (z. B. 10 Minuten) ausgeführt werden soll, indem Sie die folgende Zeile [on one single line - Ich habe sie gerade zu Formatierungszwecken getrennt] in Ihre crontab (cron -l to list) eingeben , cron -e zum bearbeiten).

0,10,20,30,40,50 * * * *
    /bin/echo $(/bin/date +\%Y-\%m-\%d) $(/usr/bin/uptime)
    >>/tmp/uptime.hist 2>&1

Dadurch werden Datum, Uhrzeit und Betriebszeit alle zehn Minuten an die Datei uptime.hist angehängt, während die Maschine läuft. Sie können diese Datei dann manuell untersuchen, um die Informationen herauszufinden, oder ein Skript schreiben, um es so zu verarbeiten, wie Sie es für richtig halten.

Wenn die Betriebszeit abnimmt, wurde seit dem letzten Datensatz ein Neustart durchgeführt. Wenn große Lücken zwischen den Zeilen bestehen (d. H. Mehr als die erwarteten zehn Minuten), war die Maschine während dieser Zeit ausgefallen.

2
paxdiablo

Dies wird nicht zwischen den Startvorgängen gespeichert, sondern The Uptimes Project ist eine Option eines Drittanbieters, um es zu verfolgen, mit Software für eine Reihe von Plattformen.

Ein weiteres unter Debian verfügbares Tool ist uptimed , das die Laufzeiten zwischen Booten aufzeichnet.

2
Shermozle

Da ich hier keine Antwort gefunden habe, die rückwirkend helfen würde, hilft dies vielleicht jemandem.

kern.log (abhängig von Ihrer Distribution) sollte einen Zeitstempel protokollieren. Es wird ungefähr so ​​aussehen: 2019-01-28T06: 25: 25.459477 + 00: 00 someserver kernel: [44114473.614361] somemessage

"44114473.614361" steht für Sekunden seit dem letzten Start, aus denen Sie die Betriebszeit berechnen können, ohne etwas installieren zu müssen.

1
Jan Schermer

Sie können auch tuptime https://sourceforge.net/projects/tuptime/ verwenden, um eine Gesamtbetriebszeit zu erhalten.

1
Slet

ich glaube nicht, dass diese Informationen zwischen Neustarts gespeichert werden.

wenn Sie das System ordnungsgemäß herunterfahren, können Sie beim Herunterfahren einen Befehl ausführen, der die Betriebszeit spart. Auf diese Weise können Sie es nach dem Hochfahren wieder lesen.

1
John Boker

Diese Informationen werden normalerweise nicht gespeichert. Sie können sich jedoch für einen Onlinedienst anmelden, der dies für Sie erledigt. Sie müssen nur einen Client installieren, der alle 5 Minuten Ihre Betriebszeit an den Server sendet, und die Site zeigt Ihnen eine grafische Darstellung Ihrer Betriebszeiten:

http://uptimes-project.org/

1
Kyle Cronin

Sie können tuptime verwenden, einen einfachen Befehl, um die Gesamtverfügbarkeitszeit in Linux zu melden, sodass er zwischen Neustarts bleibt.

http://sourceforge.net/projects/tuptime/

1
Rfraile

Nagios kann dazu auch sehr schöne Diagramme erstellen.

0
peterh