Notre organisation compte environ 500 machines Linux RedHat.
Sur toutes les machines, nous avons installé des applications et des services sous /etc/init.d
, ainsi que sur des serveurs Oracle RAC. Nous avons l'intention d'effectuer des mises à jour yum sur toutes les machines, puis de les redémarrer.
Alors je me demandais quelle commande est plus sûre:
reboot
ou
shutdown -r now
reboot
s’agit d’une commande héritée et n’existe toujours que pour les versions antérieures.Réponses:
Pour les systèmes Red Hat, il n'y a pas de différence fonctionnelle entre
reboot
etshutdown -r now
.Faites ce qui est plus facile pour vous.
la source
halt
,reboot
etpoweroff
n'accepte pas de message de motif ni d'heure, comme l'explique Mikhail T. . Je pense que je considérerais qu'un outil peut faire quelque chose qu'un autre ne permet pas d'être une "différence fonctionnelle".L’arrêt est préférable car il vous permet de spécifier la raison de l’action drastique - quelque chose que vous devriez toujours faire. Le message sera enregistré dans le journal de bord pour la postérité. Par exemple:
shutdown -r now 'Kernel upgrade requires reboot'
Vous pouvez également effectuer un redémarrage programmé - en spécifiant autre chose que
now
l'heure du redémarrage:shutdown -r 22:00 'Work around kernel memory leak'
Ensuite, vos utilisateurs recevront des rappels périodiques pour sortir, etc. - le processus sera plus ordonné et professionnel.
la source
Si vous jetez un coup d'œil, dans RHEL 7,
/sbin/shutdown
il/sbin/reboot
s'agit en fait de liens symboliques menant à lasystemctl
commande de systemd . Alors, utilisez ce que vous voulez. Pas de différence fonctionnelle comme le dit ewwhite, pas même dans les versions précédentes de RHEL qui n'utilisaient pas encore systemd.la source
/sbin/shutdown
et/sbin/reboot
ne se comportent pas de la même manière dans tous les cas (en particulier:/sbin/shutdown
ne redémarre pas par défaut!), Donc s’ils sont liés de manière symétrique au même exécutable, ils doivent examine sonARGV[0]
comportement et ajuste son comportement en conséquence. Bien que cela réduise certainement le risque de différences non intentionnelles , cela ne prouve pas de manière convaincante que le PO ne souhaite pas connaître de différences fonctionnelles intentionnelles .reboot
son lien est symboliquesystemctl
, vous ne pouvez pas utiliser, par exemple,reboot status whatever.service
comme vous le feriez avec ce dernier, pouvez-vous?L'utilisation
reboot
est plus sûre.L'utilisation de
reboot
votre intention est claire et il n'y a aucun moyen de la confondre avec autre choseshutdown -t now
qui pourrait entraîner quelques maux de tête si vous utilisez sur un serveur distant avec un contrôle limité.la source
Pour RHEL moderne, il est recommandé d’utiliser la commande systemctl comme résumé ci-après : Les distributions [récentes] RHEL doivent utiliser la nouvelle commande systemctl pour exécuter poweroff / reboot. Comme indiqué dans les pages de manuel de redémarrage et d'arrêt, il s'agit d'une "commande héritée disponible uniquement à des fins de compatibilité".
Toutefois, si vous utilisez de nombreuses distributions différentes, ou des distributions de différents millésimes, restez peut-être fidèle
shutdown -r now 'reason for shutdown'
.La principale raison d'utilisation
reboot
est d'éviter le risque d'oubli d'ajouter le -r lors de l'utilisationshutdown -r
sur une machine distante, ce qui pourrait facilement empêcher de vous reconnecter et obliger l'administrateur distant (le cas échéant) à redémarrer le système. machine.la source
Les systèmes plus anciens faisaient clairement la distinction entre
shutdown
etreboot
. Ce dernier n’arrêterait pas les services et ne synchroniserait pas nécessairement les tampons de disque. Dans des environnements hétérogènes - ou pour éviter des précédents qui pourraient être dangereux à l'avenir lorsque vous rencontrez d'autres implémentations * ix -, il est utile de prendre l'shutdown
habitude.la source