Wie kann ich anhand der Systemprotokolle feststellen, ob ein System neu gestartet wurde, sowie den Zeitpunkt des Neustarts?

14

Wie kann ich feststellen, ob ein Linux-System neu gestartet wurde, und den Zeitpunkt des Neustarts anhand der Systemprotokolle ermitteln, z /var/log/messages.

Jack Z
quelle
Neu gestartet wie? Über einen Konsolenbefehl? Leistungsverlust? Hardwarefehler?
Devicenull
@devicenull: Ich denke, es sollte alles oben Genannte sein, da es nützlich ist, Fragen wie "Wann ist der Strom wieder angekommen?" zu beantworten. "Der Ingenieur hat WAS getan? Wann ist das passiert?"
Stefan Lasiewski

Antworten:

24

Sehr sehr einfach. Der lastBefehl analysiert die /var/log/wtmpBenutzeraktivität, einschließlich eines Pseudo-Benutzer-Neustarts.

Verwenden Sie den Befehl: last reboot

Siehe man lastfür weitere Informationen. http://linux.die.net/man/1/last

Der Neustart des Pseudo-Benutzers wird bei jedem Neustart des Systems protokolliert. Somit wird beim letzten Neustart ein Protokoll aller Neustarts seit der Erstellung der Protokolldatei angezeigt.

Wenn die Datei / var / log / wtmp seit Ihrem letzten Neustart gedreht wurde, können Sie möglicherweise frühere Neustarts anzeigen, indem Sie verwenden last -f /var/log/wtmp.1 reboot.

Aaron Copley
quelle
Hallo Aaron, danke für deine Hilfe! Ich habe auf meinem System "last reboot" versucht und Folgendes erhalten: "wtmp beginnt am 1. März, 11:10:40 Uhr 2012", aber "uptime" gab mir Folgendes: "17:29:21 nach oben, 6 Tage, 9:24, 7 Benutzer, durchschnittliche Belastung: 0,00, 0,01, 0,05 ". Die aktuelle Zeit auf meinem System ist 17:31 1. März, MST. Es sieht also so aus, als hätte "last reboot" gedacht, dass das System vor weniger als einem Tag neu gestartet wurde, was nicht wirklich zutrifft ... Können Sie mir mehr darüber sagen, wie "last" die Neustartzeit bestimmt? Vielen Dank!
Jack Z
2
Dieser Zeitstempel zeigt keinen Neustart an. Sie würden eine Linie sehen, die aussieht reboot system boot [kernel] [date]. Dies sagt Ihnen also, wie weit wtmp zurückreicht und dass es seit Beginn des Protokolls keine Neustarts gegeben hat. Vielleicht hat sich das Protokoll am 1. März gedreht?
Aaron Copley
Das muss es sein, lol ich habe es auf ein paar anderen Systemen versucht und einige von ihnen zeigen Zeilen wie diese: Systemboot neu starten 2.6.27.19-5-defa Do 14 Jul 04:10 (64 + 12: 37). Danke vielmals!
Jack Z
9

Es variiert von Verteilung zu Verteilung. Manchmal wird es von / var / log / {messages, syslog, dmesg} eingeschlossen. Zum einen habe ich gerade neu gestartet, meine letzten 2 Zeilen und die allerersten nach dem Neustart sind:

Feb 29 13:16:07 hostname kernel: Kernel logging (proc) stopped.
Feb 29 13:16:07 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="592" x-info="http://www.rsyslog.com"] exiting on signal 15.
Feb 29 13:23:15 hostname kernel: imklog 5.8.1, log source = /proc/kmsg started.
Feb 29 13:23:15 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="572" x-info="http://www.rsyslog.com"] start
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's groupid changed to 103
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's userid changed to 101
Feb 29 13:23:15 hostname rsyslogd-2039: Could no open output pipe '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpuset
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpu
Feb 29 13:23:15 hostname kernel: [    0.000000] Linux version 3.0.0-12-server (buildd@crested) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 (Ubuntu 3.0.0-12.20-server 3.0.4)
Feb 29 13:23:15 hostname kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.0.0-12-server root=/dev/mapper/hostname-root ro
Feb 29 13:23:15 hostname kernel: [    0.000000] KERNEL supported cpus:
Feb 29 13:23:15 hostname kernel: [    0.000000]   Intel GenuineIntel
Feb 29 13:23:15 hostname kernel: [    0.000000]   AMD AuthenticAMD
Feb 29 13:23:15 hostname kernel: [    0.000000]   Centaur CentaurHauls
Feb 29 13:23:15 hostname kernel: [    0.000000] Disabled fast string operations
Feb 29 13:23:15 hostname kernel: [    0.000000] BIOS-provided physical RAM map:

... und so weiter. Das zeigt ein normales Herunterfahren. Ein unerwartetes Herunterfahren zeigt möglicherweise nicht die Zeit an, zu der das System offline geschaltet wurde. Sie können jedoch anhand der Lücke zwischen der letzten und der ersten Nachricht davon ausgehen, wie laut Ihr System ist.

Jeff Ferland
quelle
Danke für Ihre Hilfe! Kann ich mich also auf den "Kernel: [0.000000]" als Indikator für einen Systemneustart verlassen?
Jack Z
5

Geben Sie den uptimeBefehl ein.

Hier erfahren Sie, wie lange Ihr System in Betrieb war und wie hoch die durchschnittliche Auslastung ist.

Bearbeiten: Sie können auch nach einer /var/log/kern.log suchen. Dies sollte nur Kernelnachrichten enthalten, damit die Bootnachrichten leichter gefunden werden können.

InChargeOfIT
quelle
Hinweis: Wenn dieser Server wichtig ist, sollten Sie einen zentralen Syslog-Server mit Nagios implementieren, um den Systemzustand zu überwachen und Sie auf Ausfälle aufmerksam zu machen. Ich benutze und liebe AlienVault, das Folgendes beinhaltet (Komponenten sind optional): einen Syslog-Server, Nagios, Intrusion Detection, Vulnerability Scanner, Asset Tracking und vieles mehr.
InChargeOfIT
2

Informationen zum Zeitpunkt des Systemstarts finden Sie in Ihren Protokollen / var / log / messages oder / var / log / boot. Ein Beispiel aus CentOS 6 ...

Feb 28 23:05:56 dev0 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 28 23:05:56 dev0 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1557" x-info="http://www.rsyslog.com"] (re)start
ewwhite
quelle
1

Unter Ubuntu suche ich nach dem String \] Linux versionin /var/log/syslog.

Es werden Zeilen gefunden, die ungefähr so ​​aussehen:

27 Jun 2017 12:33:42.268 Hostname:my-hostname : [ 0.000000] Linux version 3.13.0-100-generic (buildd@lgw01-52) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 (Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39) Context
Teemu Leisti
quelle