We have in our organization around ~500 RedHat Linux machines.
On all the machines we installed applications and services under /etc/init.d
, and oracle RAC servers. We intend to perform yum updates on all machines and after that take a reboot.
So I was wondering what command is safer:
reboot
or
shutdown -r now
Shutdown is preferable because it allows you to specify the reason for the drastic action -- something you should always do. The message will be recorded in the log(s) for posterity. For example:
shutdown -r now 'Kernel upgrade requires reboot'
You can also perform a scheduled reboot -- by specifying something other than
now
as the reboot time:shutdown -r 22:00 'Work around kernel memory leak'
Then your users will get periodic reminders to get out and so on -- the process will be more orderly and professional.
For Red Hat systems, there is no functional difference between
reboot
andshutdown -r now
.Do whatever is easier for you.
Using
reboot
is safer.Using
reboot
your intent is clear and there is no way to mistype it for something else likeshutdown -t now
which could leads to a few headache if you are using on a remote server with limited control.If you take a look, in RHEL 7 both
/sbin/shutdown
and/sbin/reboot
are actually just symlinks to systemd'ssystemctl
command. So, use whatever you want. No functional difference as ewwhite told, not even in earlier RHEL releases which did not yet use systemd.For modern RHEL you are recommended to use the systemctl command as summarised here: [recent] RHEL distributions should use the new systemctl command to issue poweroff/reboot. As stated in the manpages of reboot and shutdown they are "a legacy command available for compatibility only.".
However, if you use many different distributions, or distributions of various vintages, then perhaps stick with
shutdown -r now 'reason for shutdown'
.The main reason to use
reboot
would be to avoid the risk of forgetting to add the -r when usingshutdown -r
on a remote machine, which could easily result in not being able to login again and having to use the remote admin (if available) to restart the machine.Older systems definitely made a distinction between
shutdown
andreboot
. The latter would not shut down services or necessarily even sync disk buffers. In heterogeneous environments -- or to avoid precedent that could be dangerous in the future when encountering other *ix implementations -- there's value in getting into theshutdown
habit.