Uso / mensagem do comando de encerramento de log

4

Eu quero monitorar sempre que qualquer uma de nossas máquinas executar o comando shutdown para que ele possa enviar um email ou uma notificação de reinicialização / desligamento iminente. Eu percebi que, quando o desligamento foi executado, ele provavelmente retransmitiu a mensagem de transmissão para o syslog, mas não vejo que ela esteja armazenada em nenhum dos logs. Existe uma maneira de registrar sempre que este comando é executado?

[editar] Para esclarecimento, quando o comando de desligamento é executado, quero dizer quando ele começa em execução (ou quando ele primeiro transmite sobre o desligamento) NÃO quando o desligamento do sistema realmente é iniciado. Então, eu quero ser capaz de capturar quando enviar este tipo de mensagem:       O sistema está sendo reinicializado em 5 minutos!

    
por Andrew Case 22.09.2011 / 22:44

3 respostas

3

Se você deseja monitorar apenas o comando de desligamento:

  • você pode envolvê-lo em um script de shell que envia o email
  • você pode usar uma biblioteca pré-carregada que registra o comando como registrador snoopy
  • você pode usar o systemtap para gravar todo o exec * () para o encerramento.

O problema é que você não terá registro se alguém pressionar o botão de reset. Para isso, a maneira confiável é fazer o registro na inicialização da máquina.

Por favor, note que o último log está criando uma entrada na inicialização da máquina.

É possível ter uma gravação fora de banda usando BMC / LOM / IPMI. Você pode usar isto se sua placa-mãe tiver um BMC integrado ou se você tiver instalado um BMC como uma placa de extensão.

    
por 23.09.2011 / 00:06
1

Você pode modificar o syslog.conf para capturar essas mensagens.

por exemplo, se você tiver syslog padrão, em seguida, linha

 *.*   /var/log/all.log

armazena todas as mensagens.

Se você tem rsyslog (moderno debian por exemplo) você pode iniciar algum script (enviar email etc) no evento

    
por 22.09.2011 / 22:49
1

Não encontrei uma maneira de enviar uma notificação após o desligamento (na RedHat). E lembre-se:

    O
  • email que é enviado durante um desligamento provavelmente permanecerá na fila de mensagens até que o sistema volte a ficar online
  • No caso de falta de energia, as ações que acontecerem durante o desligamento não acontecerão. Nesse caso, é melhor fazer algo durante o processo de inicialização.

Mas você pode executar ações na inicialização usando o cron, usando o @reboot "apelido" .

Portanto, se o script /usr/local/bin/email-on-reboot.sh enviar um email / notificação sobre a inicialização, adicione isso a /etc/crontab :

@reboot  /usr/local/bin/email-on-reboot.sh
    
por 22.09.2011 / 22:53