Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

How do I check if last shutdown was clean?

Writer Matthew Harrington

How can tell that my last shutdown was properly done in Ubuntu 11.10 or if the machine was powered off before shutting down the OS?

1

4 Answers

If the machine was shutdown properly then there must be a shutdown log logged in kern.log file in /var/log directory. After a shutdown whenever a normal boot occurs the OS writes the log for the same in kern.log. Hence every boot log must be preceded by a shutdown log if the booting and shutdown process was normal.

Whenever a normal shutdown occurs "Kernel logging (proc) stopped." is written in kern.log. Similarly whenever a boot occurs "imklog 5.8.1, log source = /proc/kmsg started." is written in kern.log

These two messages should be in the order if the shutdown was normal rather than abrupt power off. There should be no "imklog 5.8.1, log source = /proc/kmsg started." message without the "Kernel logging (proc) stopped." message if the previous shutdown was normal. The both message should always occur in pair in log.enter image description here

Just type in terminal :-

gedit /var/log/kern.log

and check for the shutdown and boot log pairs. If they are found not in pairs anywhere that shutdown must have been abrupt.

5

I use the last command. It lists reboots and crashes.

As of Ubuntu 16.04, a clean shutdown followed by a proper reboot will write these 2 lines one after the other in /var/log/syslog

Mar 9 14:14:06 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1086" x-info=""] exiting on signal 15.
Mar 9 15:23:42 *YOUR-HOSTNAME* rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="1069" x-info=""] start
1

Hi you can run a script to check if the last shutdown was proper or not. Just put the following lines in a bash script and run it after a system boot up.

#!/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

NOTE: Please be in a root user to run the script. It won't harm your system :)

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy