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

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

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!

Posso ver que esta string específica 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 existe uma maneira de adicionar uma mensagem de lembrete para silenciar o host em nosso sistema de monitoramento sem modificar o binário?

Responder1

Amuito cuidadosoa leitura da shutdown(8)página de manual (ou seja, não nas primeiras vezes que procurei 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!

Por falar nisso, se você tiver EL7 no ambiente, recomendo que você agende seus desligamentos com 1 minuto de antecedência, se quiser que esta mensagem seja vista, em vez de desligar "agora", pois na minha experiência os usuários podem ser desconectados antes recebendo a parede (devido ao systemd ser tão rápido para desligar e inicializar o sistema).

Por falar nisso, se você quiser reinicializações ainda mais rápidas, configure o kexec antes de reiniciar, para pular os enfadonhos 1 a 15 minutos do autoteste do hardware do servidor ...

Responder2

Você pode fazer um serviço que escreve na parede. O serviço será iniciado e criará o arquivo "lock", e então você receberá a mensagem ao reiniciar ou desligar (o processo provavelmente é diferente para o CentOS 7, pois 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 chkconfig:

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

O problema é que esta versão não é tão escalonável quanto possui "silêncio automático" porque não gostaríamos de fazer isso para reinicializações iniciadas por não administradores.

Responder3

man shutdown

NAME
   shutdown - bring the system down

SYNOPSIS
   shutdown [OPTION]...  TIME [MESSAGE]

informação relacionada