Como saber se meu último desligamento foi realizado corretamente no Ubuntu 11.10 ou se a máquina foi desligada antes de desligar o sistema operacional?
Como saber se meu último desligamento foi realizado corretamente no Ubuntu 11.10 ou se a máquina foi desligada antes de desligar o sistema operacional?
Respostas:
Se a máquina foi desligada corretamente, deve haver um kern.log
arquivo de log de desligamento no /var/log
diretório. Após um desligamento sempre que ocorre uma inicialização normal, o sistema operacional grava o log para o mesmo no kern.log. Portanto, todo log de inicialização deve ser precedido por um log de desligamento, se o processo de inicialização e desligamento for normal.
Sempre que ocorre um desligamento normal, "Kernel logging (proc) stopped."
é gravado no kern.log. Da mesma forma, sempre que ocorre uma inicialização,"imklog 5.8.1, log source = /proc/kmsg started."
é gravado no kern.log
Essas duas mensagens devem estar na ordem se o desligamento for normal em vez de desligamento abrupto. Não deve haver " imklog 5.8.1, origem do log = / proc / kmsg iniciado. " Sem a mensagem " Kernel logging (proc) interrompida " . ) Se o desligamento anterior foi normal. As duas mensagens sempre devem ocorrer em pares no log.
Basta digitar o terminal: -
gedit /var/log/kern.log
e verifique os pares de desligamento e log de inicialização. Se eles não forem encontrados em pares em nenhum lugar, esse desligamento deve ter sido abrupto.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
(e similar. também testou a sanidade pelo contrário), apesar de isso claramente fazer parte das mensagens de desligamento anteriores ... (o material visível do log, ao pressionar ESC para matar a tela inicial enquanto desligava) - alguém recebeu uma atualização?
A partir do Ubuntu 16.04, um desligamento limpo seguido de uma reinicialização adequada gravará essas duas 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
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 $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: Por favor, esteja em um usuário root para executar o script. Não irá prejudicar o seu sistema :)