Как я могу проверить, было ли последнее отключение чистым?

Как можно узнать, что мое последнее отключение было правильно выполнено в Ubuntu 11.10 или если машина была выключена перед выключением ОС?

23
задан 10 February 2012 в 16:39

4 ответа

Если машина была правильно отключена, то в журнале 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, log source = / proc / kmsg началось. » без сообщения « Регистрация ядра (proc) остановлена. », если предыдущее завершение было нормальный. Оба сообщения всегда должны встречаться в журнале в паре. enter image description here

Просто введите в терминал: -

gedit /var/log/kern.log

и проверьте пары журнала выключения и загрузки. Если они нигде не встречаются парами, то это отключение должно быть внезапным.

0
ответ дан 10 February 2012 в 16:39

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

0
ответ дан 10 February 2012 в 16:39

Начиная с 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
ответ дан 10 February 2012 в 16:39

Я использую команду последняя. В нем перечислены перезагрузки и сбои.

6
ответ дан 2 July 2020 в 19:07

Другие вопросы по тегам:

Похожие вопросы: