Wie überprüfe ich, ob das letzte Herunterfahren sauber war?

23

Wie kann ich feststellen, dass mein letztes Herunterfahren ordnungsgemäß in Ubuntu 11.10 durchgeführt wurde oder ob der Computer vor dem Herunterfahren des Betriebssystems ausgeschaltet wurde?

Vikramjeet
quelle
2
Schauen Sie sich /var/log/syslog.0
Gigili

Antworten:

23

Wenn der Computer ordnungsgemäß heruntergefahren wurde, muss in der kern.logDatei im /var/log Verzeichnis ein Protokoll zum Herunterfahren gespeichert sein . Nach dem Herunterfahren bei jedem normalen Start schreibt das Betriebssystem das entsprechende Protokoll in die Datei kern.log. Daher muss jedem Boot-Protokoll ein Shutdown-Protokoll vorangestellt werden, wenn der Boot- und Shutdown-Vorgang normal war.

Wann immer ein normales Herunterfahren auftritt, "Kernel logging (proc) stopped."wird dies in kern.log geschrieben. In ähnlicher Weise wird jedes Mal, wenn ein Bootvorgang stattfindet "imklog 5.8.1, log source = /proc/kmsg started.", in kern.log geschrieben

Diese beiden Meldungen sollten in der Reihenfolge angezeigt werden, in der das Herunterfahren normal war, anstatt das Gerät abrupt auszuschalten. Es sollte keine Meldung " imklog 5.8.1, Protokollquelle = / proc / kmsg gestartet " ohne die Meldung " Kernelprotokollierung (proc) gestoppt " angezeigt werden, wenn das vorherige Herunterfahren normal war. Die beiden Meldungen sollten immer paarweise im Protokoll vorkommen.Bildbeschreibung hier eingeben

Tippen Sie einfach das Terminal ein: -

gedit /var/log/kern.log

und prüfen Sie, ob das Herunterfahren und das Boot-Protokoll gepaart sind. Wenn sie nicht paarweise gefunden werden, muss das Herunterfahren abrupt gewesen sein.

Vikramjeet
quelle
1
Ersetzen Sie gedit durch Ihren Standard-Texteditor.
Vikramjeet
Mein kern.log ist leer
Nade
1
@Nade versuchen kern.log.1.
ein anderer ben
2
Keiner dieser Sätze ist in meinem Logbuch. Nicht einmal ein Teil von ihnen. Ich muss wirklich wissen, ob mein Computer ordnungsgemäß heruntergefahren wird. Ich glaube, ich habe ein Kind, das einfach den Ein- / Ausschalter gedrückt hält.
KI4JGT
ab Ubunutu 16.04 scheint dies nicht mehr zu stimmen. Dh ich bekomme nicht cat /var/log/syslog | grep -i "stopped"(und ähnliches. auch nicht auf das Gegenteil getestet), obwohl dies eindeutig Teil der vorherigen Shutdown-Meldungen war ... - Hat jemand ein Update?
Frank Nocke
4

Ab Ubuntu 16.04 werden diese 2 Zeilen nacheinander nach einem sauberen Herunterfahren und anschließendem Neustart in / var / log / syslog geschrieben

Mar  9 14:14:06 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1086" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar  9 15:23:42 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1069" x-info="http://www.rsyslog.com"] start
Victorvg
quelle
0

Hallo, Sie können ein Skript ausführen, um zu überprüfen, ob das letzte Herunterfahren richtig war oder nicht. Fügen Sie einfach die folgenden Zeilen in ein Bash-Skript ein und führen Sie es nach einem Systemstart aus.

#!/bin/bash
B="1"
touch data_file
echo $(($(grep -nr "$(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog   | grep $(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog | cut -d' ' -f3 | sort -k1 -r | sort --unique --stable -k2,3))" /var/log/kern.log | awk '{printf $1}' | grep -oE "[[:digit:]]{1,}")-$B))  >  data_file


if [[

($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $6}') == "Kernel") && 
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $7}') == "logging") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $8}') == "(proc)") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $9}') == "stopped.") 


]]; then

  echo Last Shutdown-proper

else

   echo Last Shutdown_not proper 

fi

rm data_file

HINWEIS: Bitte melden Sie sich bei einem Root-Benutzer an, um das Skript auszuführen. Es wird Ihrem System nicht schaden :)

Sid
quelle