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

23

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

Vikramjeet
источник
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

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

Vikramjeet
источник
1
замените gedit на ваш текстовый редактор по умолчанию.
Vikramjeet
мой kern.log пуст
Наде
1
@Nade попробовать kern.log.1.
другой бен
2
ни одна из этих фраз не в моем журнале. Даже не их часть. Мне действительно нужно знать, правильно ли выключается мой компьютер, потому что я считаю, что у меня есть ребенок, который просто удерживает кнопку питания.
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
Victorvg
источник
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, чтобы запустить скрипт. Это не повредит вашей системе :)

Sid
источник