Tenemos en nuestra organización alrededor de ~ 500 máquinas RedHat Linux.
En todas las máquinas instalamos aplicaciones y servicios /etc/init.d
, y servidores Oracle RAC. Tenemos la intención de realizar actualizaciones de yum en todas las máquinas y luego reiniciar.
Entonces me preguntaba qué comando es más seguro:
reboot
o
shutdown -r now
reboot
es solo un comando heredado y que todavía existe solo para la compatibilidad con versiones anteriores.Respuestas:
Para los sistemas Red Hat, no hay diferencia funcional entre
reboot
yshutdown -r now
.Haz lo que sea más fácil para ti.
fuente
halt
,reboot
ypoweroff
no acepte un mensaje de razón ni un momento, como explicó Mikhail T. . Creo que consideraría que una herramienta es capaz de hacer algo que otra no permite que sea una "diferencia funcional".El apagado es preferible porque le permite especificar el motivo de la acción drástica, algo que siempre debe hacer. El mensaje se grabará en el registro (s) para la posteridad. Por ejemplo:
shutdown -r now 'Kernel upgrade requires reboot'
También puede realizar un reinicio programado , especificando algo que no sea
now
el tiempo de reinicio:shutdown -r 22:00 'Work around kernel memory leak'
Luego, sus usuarios recibirán recordatorios periódicos para salir y así sucesivamente: el proceso será más ordenado y profesional.
fuente
Si se echa un vistazo, en RHEL 7 tanto
/sbin/shutdown
y/sbin/reboot
es en realidad sólo un enlace simbólico a systemd desystemctl
comandos. Entonces, usa lo que quieras. No hay diferencia funcional como dijo ewwhite, ni siquiera en versiones anteriores de RHEL que aún no usaban systemd.fuente
/sbin/shutdown
y/sbin/reboot
no se comportan igual en todos los casos (en particular: ¡/sbin/shutdown
no se reinicia por defecto!), Por lo que si están vinculados al mismo ejecutable, entonces ese ejecutable debe estar examinandoARGV[0]
y ajustando su comportamiento en consecuencia. Si bien eso ciertamente reduce el riesgo de diferencias involuntarias , no es evidencia convincente de que no haya diferencias funcionales intencionales sobre las que el OP pueda querer saber.reboot
esté enlazadosystemctl
, no puede usar, por ejemplo,reboot status whatever.service
como lo haría con este último, ¿verdad?Usar
reboot
es más seguro.El uso de
reboot
su intención es claro y no hay forma de escribirlo incorrectamente para otra cosa como lashutdown -t now
que podría ocasionar algunos dolores de cabeza si está utilizando un servidor remoto con control limitado.fuente
Para RHEL moderno, se recomienda usar el comando systemctl como se resume aquí : las distribuciones [recientes] de RHEL deben usar el nuevo comando systemctl para emitir apagado / reinicio. Como se indica en las páginas de manual de reinicio y apagado, son "un comando heredado disponible solo para compatibilidad".
Sin embargo, si usa muchas distribuciones diferentes, o distribuciones de varias añadas, entonces tal vez se quede con
shutdown -r now 'reason for shutdown'
.La razón principal para usar
reboot
sería evitar el riesgo de olvidarse de agregar -r cuando se usashutdown -r
en una máquina remota, lo que fácilmente podría resultar en no poder iniciar sesión nuevamente y tener que usar el administrador remoto (si está disponible) para reiniciar el máquina.fuente
Los sistemas más antiguos definitivamente hicieron una distinción entre
shutdown
yreboot
. Este último no cerraría los servicios ni necesariamente sincronizaría los búferes de disco. En entornos heterogéneos, o para evitar precedentes que podrían ser peligrosos en el futuro cuando se encuentren con otras implementaciones * ix, es valioso adquirir elshutdown
hábito.fuente