Як можна сказати, що моє останнє вимкнення було виконано належним чином в Ubuntu 11.10 або якщо машина була вимкнена перед вимиканням ОС?
Як можна сказати, що моє останнє вимкнення було виконано належним чином в Ubuntu 11.10 або якщо машина була вимкнена перед вимиканням ОС?
Відповіді:
Якщо машина була вимкнена належним чином, у kern.log
файлі повинен бути журнал вимкнення, який увійшов до файлу /var/log
. Після відключення кожного разу, коли відбувається звичайне завантаження, ОС записує журнал для того ж у kern.log. Отже, перед кожним журналом завантаження повинен передувати журнал вимкнення, якщо процес завантаження та відключення був нормальним.
Всякий раз , коли нормальне вимикання відбувається "Kernel logging (proc) stopped."
записується в kern.log. Аналогічно, коли відбувається завантаження"imklog 5.8.1, log source = /proc/kmsg started."
, записується в kern.log
Ці два повідомлення повинні бути в порядку, якщо відключення було нормальним, а не різким відключенням живлення. Не повинно бути повідомлення " imklog 5.8.1, початок джерела журналу = / proc / kmsg. " Без повідомлення " Зупинення реєстрації ядра (proc). ", Якщо попереднє відключення було нормальним. Обидва повідомлення завжди повинні знаходитися в парі в журналі.
Просто введіть термінал: -
gedit /var/log/kern.log
і перевірити наявність паролів журналу відключення та завантаження. Якщо їх ніде не знайдено в парі, відключення повинно було бути різким.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
(і подібне. також перевірене розумом навпаки), незважаючи на те, що це було явно частиною попередніх повідомлень про завершення роботи ... (видимий матеріал журналу, коли натискаєте ESC, щоб знищити екран сплеску під час вимкнення) - хтось отримав оновлення?
За станом на Ubuntu 16.04, чисте відключення з подальшим правильним перезавантаженням буде записувати ці два рядки один за одним у / 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
Привіт, ви можете запустити сценарій, щоб перевірити, чи було останнє відключення правильним чи ні. Просто введіть наступні рядки в bash-скрипт і запустіть його після завантаження системи.
#!/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
ПРИМІТКА. Будьте у користувачі root для запуску сценарію. Це не зашкодить вашій системі :)