最後のシャットダウンがクリーンであったかどうかを確認するにはどうすればよいですか?


回答:


23

マシンが正常にシャットダウンされた場合、 ディレクトリ内のkern.logファイルにシャットダウンログが記録されている必要があります/var/log。通常のブートが発生するたびにシャットダウンした後、OSは同じログをkern.logに書き込みます。したがって、ブートおよびシャットダウンプロセスが正常であった場合、すべてのブートログの前にシャットダウンログが必要です。

通常のシャットダウンが発生するたびに、"Kernel logging (proc) stopped."kern.logに書き込まれます。同様に、ブートが発生するたび"imklog 5.8.1, log source = /proc/kmsg started."にkern.logに書き込まれます

突然の電源オフではなく、シャットダウンが正常であった場合、これら2つのメッセージは順番に並んでいるはずです。「imklog 5.8.1、log source = / proc / kmsg started。」というメッセージはありません前回のシャットダウンが正常だった場合、「Kernel logging(proc)stopped。」メッセージは表示されません。両方のメッセージは、常にログにペアで表示されるはずです。ここに画像の説明を入力してください

ターミナルに入力するだけです:-

gedit /var/log/kern.log

シャットダウンとブートログのペアを確認します。それらがペアで見つからない場合、シャットダウンは突然行われているはずです。


1
geditをデフォルトのテキストエディターに置き換えます。
ヴィクラムジート

私のkern.logは空です
Nade

1
@Nade try kern.log.1
別のベン

2
これらのフレーズはどちらも私のログにはありません。それらの一部でもありません。コンピュータが適切にシャットダウンされているかどうかを本当に知る必要がありますb / c電源ボタンを押しているだけの子供がいると思います。
KI4JGT

Ubunutu 16.04の時点では、これはもはや正しくないようです。すなわちcat /var/log/syslog | grep -i "stopped"、これは以前のシャットダウンメッセージの一部であったにもかかわらず、取得できません(また、同様に正気度テストも行われません)。 -誰もがアップデートを入手しましたか?
フランクノック

4

Ubuntu 16.04の時点で、クリーンシャットダウンに続いて適切な再起動を行うと、これらの2行が/ 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ユーザーになる必要があります。システムに害を与えることはありません:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.