Jak mogę stwierdzić, że moje ostatnie zamknięcie zostało poprawnie wykonane w systemie Ubuntu 11.10 lub czy komputer został wyłączony przed zamknięciem systemu operacyjnego?
Jak mogę stwierdzić, że moje ostatnie zamknięcie zostało poprawnie wykonane w systemie Ubuntu 11.10 lub czy komputer został wyłączony przed zamknięciem systemu operacyjnego?
Odpowiedzi:
Jeśli urządzenie zostało poprawnie zamknięte kern.log
, w /var/log
katalogu musi być zalogowany dziennik zamknięcia . Po wyłączeniu za każdym razem, gdy nastąpi normalne uruchomienie, system operacyjny zapisuje dziennik tego samego w kern.log. Dlatego każdy dziennik rozruchu musi być poprzedzony dziennikiem zamknięcia, jeśli proces uruchamiania i zamykania był normalny.
Ilekroć nastąpi normalne zamknięcie,"Kernel logging (proc) stopped."
jest zapisywane w kern.log. Podobnie, gdy wystąpi rozruch,"imklog 5.8.1, log source = /proc/kmsg started."
zapisywany jest w pliku kern.log
Te dwa komunikaty powinny być w kolejności, jeśli wyłączenie było normalne, a nie nagłe wyłączenie zasilania. Nie powinno być komunikatu „ imklog 5.8.1, źródło dziennika = / proc / kmsg rozpoczęte. ” Bez komunikatu „ Rejestrowanie jądra (proc) zatrzymane. ”, Jeśli poprzednie zamknięcie było normalne. Oba komunikaty powinny zawsze występować w parach w dzienniku.
Wystarczy wpisać terminal: -
gedit /var/log/kern.log
i sprawdź pary dziennika zamykania i rozruchu. Jeśli nie znaleziono ich w parach, wyłączenie musiało nastąpić nagle.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
(i podobnie. również testowałem poczytalność, wręcz przeciwnie), pomimo tego, że była to wyraźnie część poprzednich komunikatów zamykania ... (widoczne logi, po naciśnięciu ESC, aby zabić ekran powitalny podczas zamykania) - ktoś dostał aktualizację?
Począwszy od Ubuntu 16.04, czyste zamknięcie, a następnie prawidłowe ponowne uruchomienie, zapisze te 2 wiersze jeden po drugim w / var / log / syslog
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
Cześć, możesz uruchomić skrypt, aby sprawdzić, czy ostatnie zamknięcie było prawidłowe, czy nie. Wystarczy umieścić następujące wiersze w skrypcie bash i uruchomić go po uruchomieniu systemu.
#!/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
UWAGA: Należy uruchomić użytkownika root, aby uruchomić skrypt. Nie zaszkodzi twojemu systemowi :)