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?
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?
Antworten:
Wenn der Computer ordnungsgemäß heruntergefahren wurde, muss in der kern.log
Datei 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.
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.
kern.log.1
.
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?
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
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 :)