Adicione uma mensagem a ser exibida durante o desligamento do CentOS 6 e 7

3

Ao emitir uma reinicialização ou desligamento, vejo:

[kbrandt@ny-kbrandt01: ~] sudo reboot
[sudo] password for kbrandt:

Broadcast message from [email protected]
    (/dev/pts/3) at 14:50 ...

The system is going down for reboot NOW!

Eu posso ver que essa string em particular faz parte do binário:

[kbrandt@ny-kbrandt01: ~] strings /sbin/shutdown | grep NOW
The system is going down for power off NOW!
The system is going down for halt NOW!
The system is going down for maintenance NOW!
The system is going down for reboot NOW!

Mas alguém sabe se há uma maneira de adicionar uma mensagem de lembrete para silenciar o host em nosso sistema de monitoramento sem modificar o binário?

    
por Kyle Brandt 25.11.2014 / 15:56

3 respostas

1

Uma leitura muito cuidadosa da página shutdown(8) man (ou seja, não as primeiras vezes que olhei e não encontrei nada) revela que uma mensagem personalizada pode ser fornecida na linha de comando .

Por exemplo:

# shutdown -r +15 "We're rebooting for unicorns. Silence monitoring please."
Shutdown scheduled for Tue 2014-11-25 10:17:53 EST, use 'shutdown -c' to cancel.
# 
Broadcast message from root@saurok (Tue 2014-11-25 10:02:53 EST):

We're rebooting for unicorns. Silence monitoring please.
The system is going down for reboot at Tue 2014-11-25 10:17:53 EST!

Nesse ponto, se você tiver o EL7 no ambiente, recomendo que programe seus desligamentos por 1 minuto, se quiser que essa mensagem seja vista, em vez de desligar "agora", pois, na minha experiência, os usuários podem estar desconectado antes de receber a parede (devido ao systemd ser tão rápido para desligar e iniciar o sistema).

Na mesma nota, se você quiser reinicializações ainda mais rápidas, configure o kexec antes de reinicializar, para pular os 1 a 15 minutos chatos do auto-teste do seu hardware ...

    
por 25.11.2014 / 16:03
1

Você pode criar um serviço que grava na parede. O serviço será iniciado e criará o arquivo "lock", e então você receberá a mensagem ao reinicializar ou desligar (o processo provavelmente é diferente para o CentOS 7, já que ele usa o systemd):

Script (provavelmente poderia ser melhor):

[root@ny-kbrandt01 init.d]# cat reminder
#!/bin/bash
# chkconfig: 2345 99 01
# description: My test service

if [[ $1 == "start" ]]; then
        touch /var/lock/subsys/reminder
fi

if [[ $1 == "stop" || $1 == "halt" ]]; then
        wall "Please silence in bosun so Kyle doesn't turn into more of a nutbag"
fi

E não se esqueça de adicioná-lo com o chkconfig:

[root@ny-kbrandt01 init.d]# chkconfig --add reminder

O problema é que essa versão também não é dimensionada, pois tem o "silêncio automático" porque não queremos fazer isso para reinicializações não administradas pelo administrador.

    
por 25.11.2014 / 19:31
0

man shutdown

NAME
   shutdown - bring the system down

SYNOPSIS
   shutdown [OPTION]...  TIME [MESSAGE]
    
por 25.11.2014 / 15:59