如何检查上次关机是否干净?


Answers:


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 2012年

我的kern.log是空的
Nade

1
@Nade尝试kern.log.1
不同的本

2
这些短语都不在我的日志中。甚至没有一部分。我真的需要知道我的计算机是否能够正确关闭b / c,我相信我有一个孩子只是在按住电源按钮。
KI4JGT 2013年

从Ubunutu 16.04开始,这似乎不再正确。即cat /var/log/syslog | grep -i "stopped",尽管这显然是先前关闭消息的一部分……(可见的日志内容,当按下ESC可以在关闭时按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用户身份运行脚本。它不会损害您的系统:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.