Come posso verificare se l'ultimo arresto è stato pulito?


23

Come posso dire che il mio ultimo arresto è stato eseguito correttamente in Ubuntu 11.10 o se la macchina è stata spenta prima di spegnere il sistema operativo?


2
Dai un'occhiata a /var/log/syslog.0
Gigili

Risposte:


23

Se la macchina è stata arrestata correttamente, è necessario che sia presente un registro di arresto nel kern.logfile registrato nella /var/log directory. Dopo uno spegnimento ogni volta che si verifica un avvio normale, il sistema operativo scrive il registro per lo stesso in kern.log. Pertanto, ogni registro di avvio deve essere preceduto da un registro di arresto se il processo di avvio e arresto era normale.

Ogni volta che un normale arresto si verifica "Kernel logging (proc) stopped."è scritto in kern.log. Allo stesso modo ogni volta che si verifica un avvio"imklog 5.8.1, log source = /proc/kmsg started." è scritto in kern.log

Questi due messaggi dovrebbero essere nell'ordine se lo spegnimento era normale piuttosto che uno spegnimento improvviso. Non dovrebbe esserci il messaggio " imklog 5.8.1, log source = / proc / kmsg avviato. " Senza il " Log del kernel (proc) interrotto. " se lo spegnimento precedente era normale. Entrambi i messaggi devono sempre apparire in coppia nel registro.inserisci qui la descrizione dell'immagine

Digita semplicemente il terminale: -

gedit /var/log/kern.log

e controlla le coppie di log di spegnimento e avvio. Se non vengono trovati in coppie da nessuna parte, l'arresto deve essere stato improvviso.


1
sostituisci gedit con il tuo editor di testo predefinito.
Vikramjeet,

il mio kern.log è vuoto
Nade,

1
@Nade provare kern.log.1.
un diverso ben il

2
nessuna di queste frasi è nel mio registro. Neppure una parte. Ho davvero bisogno di sapere se il mio computer si sta spegnendo correttamente b / c credo di avere un bambino che sta semplicemente tenendo premuto il pulsante di accensione.
KI4JGT il

a partire da Ubunutu 16.04 questo non sembra più corretto. cioè non ottengo cat /var/log/syslog | grep -i "stopped"(e simili. anche test di sanità mentale al contrario), nonostante ciò fosse chiaramente parte dei precedenti messaggi di spegnimento ... (il materiale di registro visibile, quando si preme ESC per uccidere la schermata iniziale mentre si spegne) - qualcuno ha ricevuto un aggiornamento?
Frank Nocke,

4

A partire da Ubuntu 16.04, un arresto pulito seguito da un corretto riavvio scriverà queste 2 righe una dopo l'altra in / 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

Ciao, puoi eseguire uno script per verificare se l'ultimo arresto è stato corretto o meno. Basta inserire le seguenti righe in uno script bash ed eseguirlo dopo l'avvio 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: si prega di essere in un utente root per eseguire lo script. Non danneggerà il tuo sistema :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.