Wir haben in unserer Organisation ungefähr 500 RedHat Linux-Maschinen.
Auf allen Computern, auf denen wir Anwendungen und Dienste installiert haben /etc/init.d
, und auf Oracle RAC-Servern. Wir beabsichtigen, Updates auf allen Rechnern durchzuführen und danach einen Neustart durchzuführen.
Also habe ich mich gefragt, welcher Befehl sicherer ist:
reboot
oder
shutdown -r now
reboot
nur ein Legacy-Befehl ist und weiterhin nur für die Rückwärtskompatibilität vorhanden ist.Antworten:
Bei Red Hat-Systemen gibt es keinen funktionalen Unterschied zwischen
reboot
undshutdown -r now
.Tun Sie, was Ihnen leichter fällt.
quelle
halt
,reboot
undpoweroff
nehmen keinen Grund Nachricht noch eine Zeit, als Mikhail T. erklärt . Ich denke, ich würde ein Tool als etwas betrachten, das ein anderes nicht als "funktionalen Unterschied" betrachtet.Das Herunterfahren ist vorzuziehen, da Sie hier den Grund für die drastische Aktion angeben können - etwas, das Sie immer tun sollten. Die Nachricht wird in den Protokollen für die Nachwelt aufgezeichnet. Zum Beispiel:
shutdown -r now 'Kernel upgrade requires reboot'
Sie können auch einen geplanten Neustart durchführen, indem Sie etwas anderes als
now
die Neustartzeit angeben:shutdown -r 22:00 'Work around kernel memory leak'
Dann werden Ihre Benutzer regelmäßig daran erinnert, auszusteigen und so weiter - der Prozess wird ordentlicher und professioneller.
quelle
Wenn Sie einen Blick darauf werfen, in RHEL 7 beides
/sbin/shutdown
und/sbin/reboot
sind eigentlich nur symbolische Links zumsystemctl
Befehl systemd . Verwenden Sie also, was Sie wollen. Kein funktionaler Unterschied, wie ewwhite sagte, auch nicht in früheren RHEL-Releases, in denen systemd noch nicht verwendet wurde.quelle
/sbin/shutdown
und verhält/sbin/reboot
sich nicht in allen Fällen gleich (insbesondere:/sbin/shutdown
nicht standardmäßig neu starten!). Wenn sie also mit derselben ausführbaren Datei verknüpft sind, muss diese ausführbare Datei sein untersuchenARGV[0]
und sein Verhalten entsprechend anpassen. Während dies das Risiko unbeabsichtigter Unterschiede auf jeden Fall verringert , ist es kein zwingender Beweis dafür, dass es keine beabsichtigten funktionalen Unterschiede gibt, über die das OP möglicherweise informiert werden möchte.reboot
es mit symbol verbunden istsystemctl
, sie können es nicht so benutzen,reboot status whatever.service
wie sie es mit letzterem tun würden, oder?Verwenden
reboot
ist sicherer.Die Verwendung
reboot
Ihrer Absicht ist klar und es gibt keine Möglichkeit, sie mit etwas anderem zu verwechseln, wasshutdown -t now
zu einigen Kopfschmerzen führen kann, wenn Sie auf einem Remote-Server mit eingeschränkter Kontrolle arbeiten.quelle
Für modernes RHEL wird empfohlen, den Befehl systemctl zu verwenden, wie hier zusammengefasst : RHEL-Distributionen sollten den neuen Befehl systemctl verwenden, um das Ausschalten / Neustarten durchzuführen. Wie in den Hilfeseiten zum Neustart und Herunterfahren angegeben, handelt es sich um einen "Legacy-Befehl, der nur aus Kompatibilitätsgründen verfügbar ist".
Wenn Sie jedoch viele verschiedene Distributionen oder Distributionen verschiedener Jahrgänge verwenden, bleiben Sie vielleicht dabei
shutdown -r now 'reason for shutdown'
.Der Hauptgrund für die Verwendung besteht
reboot
darin, das Risiko zu vermeiden, dass bei der Verwendungshutdown -r
auf einem Remotecomputer das Hinzufügen des -r vergessen wird. Dies kann leicht dazu führen, dass Sie sich nicht erneut anmelden können und den Remotecomputer (falls verfügbar) zum Neustarten des Computers verwenden müssen Maschine.quelle
Ältere Systeme haben definitiv zwischen
shutdown
und unterschiedenreboot
. Letzteres würde weder Dienste herunterfahren noch Festplattenpuffer synchronisieren. In heterogenen Umgebungen - oder um Präzedenzfälle zu vermeiden, die in Zukunft gefährlich sein könnten, wenn andere * ix-Implementierungen zum Einsatz kommen - ist es sinnvoll, sich daran zushutdown
gewöhnen.quelle