Як перевірити, чи було останнє відключення чистим?


23

Як можна сказати, що моє останнє вимкнення було виконано належним чином в Ubuntu 11.10 або якщо машина була вимкнена перед вимиканням ОС?


2
Погляньте на /var/log/syslog.0
Gigili

Відповіді:


23

Якщо машина була вимкнена належним чином, у 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

і перевірити наявність паролів журналу відключення та завантаження. Якщо їх ніде не знайдено в парі, відключення повинно було бути різким.


1
замініть gedit текстовим редактором за замовчуванням.
Vikramjeet

мій kern.log порожній
Надія

1
@Намагайтеся kern.log.1.
інший бен

2
жодна з цих фраз не міститься в моєму журналі. Навіть їх частина. Мені дійсно потрібно знати, чи правильно вимикається комп'ютер b / c. Я вважаю, що у мене є дитина, яка просто утримує кнопку живлення.
KI4JGT

станом на Ubunutu 16.04, це здається вже не правильним. тобто я не отримую cat /var/log/syslog | grep -i "stopped"(і подібне. також перевірене розумом навпаки), незважаючи на те, що це було явно частиною попередніх повідомлень про завершення роботи ... (видимий матеріал журналу, коли натискаєте ESC, щоб знищити екран сплеску під час вимкнення) - хтось отримав оновлення?
Френк Нокк

4

За станом на 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

0

Привіт, ви можете запустити сценарій, щоб перевірити, чи було останнє відключення правильним чи ні. Просто введіть наступні рядки в 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 для запуску сценарію. Це не зашкодить вашій системі :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.