Log para Desligamento inesperado.

Iniciado por glauciofonseca, 06 de Novembro de 2015, 12:58

tópico anterior - próximo tópico

glauciofonseca

Salve pessoal, o sistema linux ele gera algum tipo de log quando o sistema e desligado inesperadamente.
Alguns informam do /var/log/syslog é manda buscar por signal 15 é dentro deste arquivo onde estiver esse signal 15, o horário e data onde ele foi desligado.
O lance é seria apenas este o caminho para ver tal ação ou também existe outras formas.

Obrigado.

antony-ag

Vou postar uma dica que eu peguei:

Imagine você saindo na sexta-feira de seu trabalho e quando volta na segunda seus servidores estão desligados. E agora? Como saber quando eles foram desligados?

Fiz um pequeno script para que eu saiba a hora exata em que o servidor foi desligado. Os passos que darei foram feitos em servidores Debian 5.0 "Lenny", mas funcionam perfeitamente bem em qualquer distribuição, desde que você adapte os passos.

Crie os arquivos necessários:

# touch /var/log/monitorar.log
# touch /var/log/turnoff.log
# touch /etc/init.d/registro


Adicione no crontab a seguinte linha:

*/1 * * * * /bin/date > /var/log/monitorar.log

Com esta linha o comando date será executado a cada um minuto e sua saída será direcionada ao arquivo /var/log/monitorar.log, note que a linha não será adicionada ao arquivo, pois estou utilizando somente um sinal lógico ">", e sim, sobrescreverá o conteúdo existente no arquivo.

Adicionei o script registro no diretório /etc/init.d/ com o seguinte conteúdo:

Edite este arquivo: /etc/init.d/registro

#!/bin/bash
REGISTRO=$(cat /var/log/monitorar.log)
echo "Desligado em: $REGISTRO" > /var/log/turnoff.log


Ele lerá o conteúdo do arquivo /var/log/monitorar.log e adicionará ao arquivo /var/log/turnoff.log, pois quando você reiniciar a máquina o crontab executará a linha do date e sobrescreverá o conteúdo do /var/log/monitorar.log. Mas não é isso que você quer, você quer saber a hora real do desligamento do seu servidor.

Feito isso, configure o script como executável:

# chmod +x /etc/init.d/registro

E configure para executar no boot:

# update-rc.d registro defaults

Para testar, aguarde 1 minuto, marque a hora atual e reinicie sua máquina:

# date && shutdown -r now

Marque a hora, após a reinicialização, veja se a hora guardada no arquivo /var/log/turnoff.log confere com a hora que você marcou:

# cat /var/log/turnoff.log

Se tudo deu certo, agora você terá a hora exata que seu servidor foi desligado, por qualquer que tenha sido o motivo.


Att,
Antony Gabarron

glauciofonseca

Valeu Antony muito obrigado.

Citação de: antony-ag online 06 de Novembro de 2015, 13:27
Vou postar uma dica que eu peguei:

Imagine você saindo na sexta-feira de seu trabalho e quando volta na segunda seus servidores estão desligados. E agora? Como saber quando eles foram desligados?

Fiz um pequeno script para que eu saiba a hora exata em que o servidor foi desligado. Os passos que darei foram feitos em servidores Debian 5.0 "Lenny", mas funcionam perfeitamente bem em qualquer distribuição, desde que você adapte os passos.

Crie os arquivos necessários:

# touch /var/log/monitorar.log
# touch /var/log/turnoff.log
# touch /etc/init.d/registro


Adicione no crontab a seguinte linha:

*/1 * * * * /bin/date > /var/log/monitorar.log

Com esta linha o comando date será executado a cada um minuto e sua saída será direcionada ao arquivo /var/log/monitorar.log, note que a linha não será adicionada ao arquivo, pois estou utilizando somente um sinal lógico ">", e sim, sobrescreverá o conteúdo existente no arquivo.

Adicionei o script registro no diretório /etc/init.d/ com o seguinte conteúdo:

Edite este arquivo: /etc/init.d/registro

#!/bin/bash
REGISTRO=$(cat /var/log/monitorar.log)
echo "Desligado em: $REGISTRO" > /var/log/turnoff.log


Ele lerá o conteúdo do arquivo /var/log/monitorar.log e adicionará ao arquivo /var/log/turnoff.log, pois quando você reiniciar a máquina o crontab executará a linha do date e sobrescreverá o conteúdo do /var/log/monitorar.log. Mas não é isso que você quer, você quer saber a hora real do desligamento do seu servidor.

Feito isso, configure o script como executável:

# chmod +x /etc/init.d/registro

E configure para executar no boot:

# update-rc.d registro defaults

Para testar, aguarde 1 minuto, marque a hora atual e reinicie sua máquina:

# date && shutdown -r now

Marque a hora, após a reinicialização, veja se a hora guardada no arquivo /var/log/turnoff.log confere com a hora que você marcou:

# cat /var/log/turnoff.log

Se tudo deu certo, agora você terá a hora exata que seu servidor foi desligado, por qualquer que tenha sido o motivo.


Att,
Antony Gabarron

antony-ag

Por nada meu caro... Se funcionar não esqueça de editar o tópico para resolvido.

Att,
Antony Gabarron

glauciofonseca

Citação de: antony-ag online 06 de Novembro de 2015, 19:34
Por nada meu caro... Se funcionar não esqueça de editar o tópico para resolvido.

Att,
Antony Gabarron