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:
# vim /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.
Esta dica também está publicada em meu blog:
allandc.wordpress.com
Abraços.
Fala mestre beleza, valeu pela matéria
Estou adaptando sua dica para o seguinte cenário . Onde trabalho possuo varios servidores onde os analista logam para efetuar manutenção nas aplicações , mas sempre tem um animal que não avisa quando derruma alguma coisa
Minha ideia é assim que algume logar em uns dos servers , enviar uma mensagem para tela do administrador , lendo sua matéria consegui adpatar , mas minha dúvia é enviar essa mensagem , para estação windows , alguma dica !!!