¿Cómo puedo verificar si el último apagado fue limpio?

19

¿Cómo puedo saber si mi último apagado se realizó correctamente en Ubuntu 11.10 o si la máquina se apagó antes de apagar el sistema operativo?

    
pregunta Vikramjeet 10.02.2012 - 11:27

3 respuestas

20

Si la máquina se apagó correctamente, debe haber un registro de apagado registrado en el archivo kern.log en el directorio / var / log . Después de un apagado cada vez que ocurre un arranque normal, el SO escribe el registro para el mismo en kern.log. Por lo tanto, cada registro de inicio debe estar precedido por un registro de cierre si el proceso de arranque y apagado fue normal.

Cuando ocurre un apagado normal " El registro del kernel (proc) se detiene. " está escrito en kern.log. De forma similar, cada vez que se produce un inicio " imklog 5.8.1, log source = / proc / kmsg started. " está escrito en kern.log

Estos dos mensajes deberían estar en el orden si el apagado fue normal en lugar de apagado abrupto. No debe haber ningún mensaje " imklog 5.8.1, log source = / proc / kmsg started. " sin el mensaje " Registro del kernel (proc) detenido. " si el anterior el cierre fue normal. Ambos mensajes siempre deben aparecer en el par en el registro.

Simplemente escriba terminal: - gedit /var/log/kern.log

y verifique los pares de apagado y registro de arranque. Si se encuentran no en pares en cualquier lugar ese cierre debe haber sido abrupto.

    
respondido por el Vikramjeet 28.02.2012 - 17:07
1

A partir de Ubuntu 16.04, un apagado limpio seguido de un reinicio adecuado escribirá estas 2 líneas una después de la otra en / 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
    
respondido por el Victorvg 09.03.2018 - 15:08
0

Hola, puedes ejecutar un script para verificar si el último apagado fue correcto o no. Simplemente ponga las siguientes líneas en un script bash y ejecútelo después de que el sistema arranque.

#!/bin/bash
B="1"
touch data_file
echo $(($(grep -nr "$(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf }') '+%b %-d')" | grep imklog   | grep $(cat  /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf }') '+%b %-d')" | grep imklog | cut -d' ' -f3 | sort -k1 -r | sort --unique --stable -k2,3))" /var/log/kern.log | awk '{printf }' | grep -oE "[[:digit:]]{1,}")-$B))  >  data_file


if [[

($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print }') == "Kernel") && 
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print }') == "logging") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print }') == "(proc)") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print }') == "stopped.") 


]]; then

  echo Last Shutdown-proper

else

   echo Last Shutdown_not proper 

fi

rm data_file

NOTA: Por favor, esté en un usuario raíz para ejecutar el script. No dañará tu sistema :)

    
respondido por el Sid 20.06.2014 - 03:30

Lea otras preguntas en las etiquetas