Como eu verifico se o último desligamento estava limpo?

17

Como posso dizer que o meu último desligamento foi feito corretamente no Ubuntu 11.10 ou se a máquina foi desligada antes de desligar o SO?

    
por Vikramjeet 10.02.2012 / 12:27

3 respostas

19

Se a máquina foi desligada corretamente, deve haver um log de desligamento registrado no arquivo kern.log no diretório / var / log . Após um desligamento sempre que uma inicialização normal ocorre, o sistema operacional grava o log para o mesmo em kern.log. Portanto, cada log de inicialização deve ser precedido por um log de desligamento, se o processo de inicialização e desligamento for normal.

Sempre que ocorrer um desligamento normal " O registro do kernel (proc) parou. " está escrito em kern.log. Da mesma forma sempre que ocorre uma inicialização " imklog 5.8.1, fonte de log = / proc / kmsg iniciado. " está escrito em kern.log

Essas duas mensagens devem estar na ordem, se o desligamento for normal, e não o desligamento abrupto. Não deve haver nenhuma mensagem " imklog 5.8.1, log source = / proc / kmsg iniciado. " sem a mensagem " Kernel logging (proc) parado. " se o anterior desligamento foi normal. A mensagem deve sempre ocorrer em par no log.

Basta digitar o terminal: - gedit /var/log/kern.log

e verifique os pares de log de desligamento e inicialização. Se eles não forem encontrados em pares em qualquer lugar que o desligamento deve ter sido abrupto.

    
por Vikramjeet 28.02.2012 / 18:07
0

Oi você pode executar um script para verificar se o último desligamento foi adequado ou não. Basta colocar as seguintes linhas em um script bash e executá-lo após a inicialização do sistema.

#!/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, esteja em um usuário root para executar o script. Não irá prejudicar o seu sistema :)

    
por Sid 20.06.2014 / 05:30
0

A partir do Ubuntu 16.04, um desligamento limpo seguido por uma reinicialização apropriada irá gravar essas 2 linhas uma após a outra em / 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
    
por Victorvg 09.03.2018 / 16:08