Добавьте сообщение, которое будет отображаться при выключении CentOS 6 и 7

При выдаче перезагрузки или выключения я вижу:

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

Broadcast message from kbrandt@ny-kbrandt01.ds.stackexchange.com
    (/dev/pts/3) at 14:50 ...

The system is going down for reboot NOW!

Я вижу, что эта конкретная строка является частью двоичного файла:

[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!

Но кто-нибудь знает, есть ли способ добавить сообщение-напоминание, чтобы заставить хост замолчать в нашей системе мониторинга без изменения двоичного файла?

3 ответа

Вы можете сделать сервис, который пишет на стене. Служба запустится и создаст файл "блокировки", а затем вы получите сообщение при перезагрузке или завершении работы (процесс, вероятно, отличается от CentOS 7, так как он использует systemd):

Сценарий (возможно, может быть лучше):

[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

И обязательно добавьте его с помощью chkconfig:

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

Проблема в том, что эта версия не масштабируется так же, как и "автоматическое молчание", потому что мы не хотели бы делать это для перезагрузок, не инициированных администратором.

Очень внимательное прочтение shutdown(8) Страница man (то есть не первые пару раз, когда я смотрела и ничего не нашла) показывает, что пользовательское сообщение может быть предоставлено в командной строке.

Например:

# 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!

На этой ноте, если у вас есть EL7 в среде, я рекомендую вам запланировать выключения на 1 минуту вперед, если вы хотите, чтобы это сообщение было видно, а не выключать "сейчас", как, по моему опыту, пользователи могут выйти из системы раньше получение стены (из-за того, что systemd так кроваво быстр, что может отключиться и запустить систему).

На этом примечании, если вы хотите еще более быстрые перезагрузки, настройте kexec перед перезагрузкой, чтобы пропустить скучные 1–15 минут, когда сервер самотестирует свое оборудование…

man shutdown

NAME
   shutdown - bring the system down

SYNOPSIS
   shutdown [OPTION]...  TIME [MESSAGE]
Другие вопросы по тегам