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.
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.
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.
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.
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.
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 ...
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
Antworten:
Sehr sehr einfach. Der
last
Befehl analysiert die/var/log/wtmp
Benutzeraktivität, einschließlich eines Pseudo-Benutzer-Neustarts.Verwenden Sie den Befehl:
last reboot
Siehe
man last
für weitere Informationen. http://linux.die.net/man/1/lastWenn 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
.quelle
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?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:
... 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.
quelle
Geben Sie den
uptime
Befehl 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.
quelle
Informationen zum Zeitpunkt des Systemstarts finden Sie in Ihren Protokollen / var / log / messages oder / var / log / boot. Ein Beispiel aus CentOS 6 ...
quelle
Unter Ubuntu suche ich nach dem String
\] Linux version
in/var/log/syslog
.Es werden Zeilen gefunden, die ungefähr so aussehen:
quelle