¿Cómo verifico si el último apagado estuvo limpio?

23

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

Vikramjeet
fuente
2
Echa un vistazo a /var/log/syslog.0
Gigili

Respuestas:

23

Si la máquina se apagó correctamente, entonces debe haber un kern.logarchivo de registro de apagado registrado en el /var/log directorio. Después de un apagado cada vez que se produce un arranque normal, el sistema operativo escribe el registro para el mismo en kern.log. Por lo tanto, cada registro de arranque debe ir precedido de un registro de apagado si el proceso de arranque y apagado fue normal.

Cada vez que ocurre un apagado normal "Kernel logging (proc) stopped."se escribe en kern.log. Del mismo modo, cada vez que se produce un arranque"imklog 5.8.1, log source = /proc/kmsg started." se escribe en kern.log

Estos dos mensajes deben estar en el orden si el apagado fue normal en lugar de un apagado brusco. No debería aparecer el mensaje " imklog 5.8.1, log source = / proc / kmsg iniciado " sin el mensaje " Kernel logging (proc) stop " si el cierre anterior fue normal. Los dos mensajes siempre deben aparecer en pares en el registro.ingrese la descripción de la imagen aquí

Simplemente escriba en la terminal: -

gedit /var/log/kern.log

y verifique el apagado y los pares de registro de arranque. Si no se encuentran en pares, el cierre debe haber sido abrupto.

Vikramjeet
fuente
1
reemplace gedit con su editor de texto predeterminado.
Vikramjeet
mi kern.log está vacío
Nade
1
@Nade intenta kern.log.1.
un ben diferente
2
ninguna de esas frases está en mi registro. Ni siquiera parte de ellos. Realmente necesito saber si mi computadora se está apagando correctamente b / c Creo que tengo un niño que simplemente está presionando el botón de encendido.
KI4JGT
a partir de Ubunutu 16.04 esto ya no parece correcto. es decir, no obtengo cat /var/log/syslog | grep -i "stopped"(y similar. También probé la cordura al contrario), a pesar de que esto era claramente parte de los mensajes de apagado anteriores ... (el registro visible, al presionar ESC para matar la pantalla de inicio mientras se apaga) - Alguien tiene una actualización?
Frank Nocke
4

A partir de Ubuntu 16.04, un apagado limpio seguido de un reinicio adecuado escribirá estas 2 líneas una tras 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
Victorvg
fuente
0

Hola, puede 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 un arranque del sistema.

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

NOTA: esté en un usuario root para ejecutar el script. No dañará su sistema :)

Sid
fuente