3

When issuing a reboot or shutdown I see:

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

I can see that this particular string is part of the binary:

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

But does anyone know if there is a way I could add a reminder message to silence the host in our monitoring system without modifying the binary?

3
  • On 7 everyone often gets logged out before the wall goes out anyway. Nov 25, 2014 at 14:58
  • Wouldn't you want to know in your monitoring system that it is rebooting? Or does the new monitoring system throw up 100 alarms during the reboot?
    – TheCleaner
    Nov 25, 2014 at 15:02
  • @TheCleaner: It will throw at least a alarm mostly likely (and that is false alarm if someone has run the shutdown command). Nov 25, 2014 at 17:16

3 Answers 3

1

A very careful reading of the shutdown(8) man page (i.e. not the first couple of times I looked and didn't find anything) reveals that a custom message can be provided on the command line.

For instance:

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

On that note, if you have EL7 in the environment, I recommend you schedule your shutdowns for 1 minute ahead, if you want this message to be seen, rather than shutting down "now", as in my experience users may be logged out before receiving the wall (due to systemd being so bloody fast to shutdown and start up the system).

On that note, if you want even faster reboots, set up kexec before you reboot, to skip the boring 1 to 15 minutes of the server self-testing its hardware...

4
  • Sorry if my goal isn't clear. The idea is that if someone types "shutdown" that person gets a message on the screen that reminds them to put the box in maintenance on the host. So the person performing the shutdown wouldn't be adding the message Nov 25, 2014 at 17:15
  • @KyleBrandt I think you'll have to write your own wrapper scripts for that. Then you could get really creative and just have the wrapper talk to the monitoring server and put the box in maintenance mode itself. Nov 25, 2014 at 17:24
  • Tried making an init script that writes to the wall on runlevel 0/6 , however it looks like the disconnect from ssh happens faster than the wall write (even though the reminder script is K01 and sshd is K25), guessing these are not serial .... Nov 25, 2014 at 18:22
  • Ah nevermind, just needed to make the sys lock Nov 25, 2014 at 18:28
1

You can make a service that writes to the wall. The service will get started and create the "lock" file, and then you will get the message when rebooting or shutting down (Process is probably different for CentOS 7 since it uses systemd):

Script (Could probably be better):

[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

And be sure to add it with chkconfig:

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

The problem is that this version doesn't scale as well having it "auto silence" because we wouldn't want to do that for non-admin initiated reboots.

0

man shutdown

NAME
   shutdown - bring the system down

SYNOPSIS
   shutdown [OPTION]...  TIME [MESSAGE]
2
  • From what operating system is this man page? Nov 25, 2014 at 15:00
  • CentOS release 6.6 (Final)
    – hymie
    Nov 25, 2014 at 15:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .