Temos em nossa organização cerca de ~ 500 máquinas Linux RedHat.
Em todas as máquinas, instalamos aplicativos e serviços em /etc/init.d
servidores Oracle RAC. Pretendemos realizar atualizações yum em todas as máquinas e depois disso reiniciar.
Então, eu queria saber qual comando é mais seguro:
reboot
ou
shutdown -r now
reboot
é apenas um comando legado e ainda existe apenas para compatibilidade com versões anteriores.Respostas:
Para sistemas Red Hat, não há diferença funcional entre
reboot
eshutdown -r now
.Faça o que for mais fácil para você.
fonte
halt
,reboot
epoweroff
não aceita uma mensagem de razão nem um tempo, como Mikhail T. explicou . Eu acho que consideraria uma ferramenta capaz de fazer algo que outra não permite ser uma "diferença funcional".O desligamento é preferível, pois permite especificar o motivo da ação drástica - algo que você deve sempre fazer. A mensagem será gravada no (s) log (s) para posteridade. Por exemplo:
shutdown -r now 'Kernel upgrade requires reboot'
Você também pode executar uma reinicialização agendada - especificando algo diferente do
now
horário da reinicialização:shutdown -r 22:00 'Work around kernel memory leak'
Seus usuários receberão lembretes periódicos para sair e assim por diante - o processo será mais organizado e profissional.
fonte
Se você der uma olhada, no RHEL 7 ambos
/sbin/shutdown
e/sbin/reboot
são realmente apenas links simbólicos para o systemdsystemctl
comando. Então, use o que quiser. Nenhuma diferença funcional como o ewwhite disse, nem mesmo em versões anteriores do RHEL que ainda não usavam o systemd.fonte
/sbin/shutdown
e/sbin/reboot
que não se comportam da mesma em todos os casos (em particular:/sbin/shutdown
! Não reiniciar por padrão), por isso, se eles estão simbolicamente ao mesmo executável, em seguida, que devem executável estar examinandoARGV[0]
e ajustando seu comportamento de acordo. Embora isso certamente reduz o risco de diferenças não intencionais , não é uma evidência convincente de que não haja diferenças funcionais intencionais que o OP possa querer conhecer.reboot
esteja ligado a um linksystemctl
, você não pode usar, por exemplo,reboot status whatever.service
como faria com o último, pode?Usar
reboot
é mais seguro.O uso de
reboot
sua intenção é claro e não há como digitar incorretamente algoshutdown -t now
que poderia levar a uma dor de cabeça se você estiver usando em um servidor remoto com controle limitado.fonte
Para o RHEL moderno, é recomendável usar o comando systemctl, conforme resumido aqui : As distribuições [recentes] RHEL devem usar o novo comando systemctl para emitir poweroff / reboot. Conforme declarado nas páginas de manual de reinicialização e desligamento, elas são "um comando herdado disponível apenas para compatibilidade".
No entanto, se você usar muitas distribuições diferentes ou distribuições de várias safras, talvez fique com ela
shutdown -r now 'reason for shutdown'
.O principal motivo para usar
reboot
seria evitar o risco de esquecer de adicionar o -r ao usarshutdown -r
em uma máquina remota, o que poderia resultar facilmente na impossibilidade de efetuar login novamente e na necessidade de usar o administrador remoto (se disponível) para reiniciar o máquina.fonte
Os sistemas mais antigos definitivamente faziam uma distinção entre
shutdown
ereboot
. Este último não desligava os serviços ou necessariamente sincronizava os buffers de disco. Em ambientes heterogêneos - ou para evitar precedentes que possam ser perigosos no futuro ao encontrar outras implementações * ix - é importante adotar oshutdown
hábito.fonte