Linux / Commande shutdown : programmer et annuler un arrêt ou redémarrage

shutdown demande un arrêt ou un redémarrage immédiat ou planifié du système Linux. Dans l’implémentation systemd, l’action par défaut est la mise hors tension et un temps omis implique un délai d’une minute. Pour un redémarrage, indiquez -r ; pour annuler, utilisez -c seulement tant que la demande différée est encore en attente.

Préparer l’hôte, les services et le délai

Les commandes de cet article modifient réellement l’état de la machine et peuvent envoyer des messages aux utilisateurs. Ne les lancez pas pour tester leur affichage sur un serveur en production. Vérifiez la cible de votre session, les travaux non enregistrés, les mises à jour et écritures en cours, ainsi que la fenêtre d’intervention et l’accès à la console.

La forme ci-dessous est une notation de syntaxe ; les éléments entre crochets sont facultatifs :

sudo shutdown [OPTIONS] [TEMPS] [MESSAGE]

Dans systemd, une commande shutdown sans temps ne signifie pas une simple consultation : elle prévoit l’action après une minute. Un message d’avertissement ne remplace pas la préparation d’une base de données, d’une sauvegarde ou d’un service ayant sa propre procédure d’arrêt.

Assurez-vous aussi qu’une autre intervention n’a pas déjà programmé une action sur l’hôte. Les versions de systemd à partir de 250 disposent de cette consultation de la demande en attente :

shutdown --show

Si --show n’est pas pris en charge, consultez man shutdown et la procédure de votre distribution ; n’utilisez pas une demande d’arrêt comme moyen de consulter l’état.

Programmer une mise hors tension ou un redémarrage

Après préparation, cette demande explicite une mise hors tension dans dix minutes et un message pour les utilisateurs :

sudo shutdown -P +10 'Arret pour maintenance dans dix minutes.'

-P exprime ici l’action par défaut de systemd sans la laisser implicite. +10 est un délai en minutes à partir de la demande. Pour redémarrer au lieu de laisser la machine éteinte, choisissez l’autre forme :

sudo shutdown -r +10 'Redemarrage pour maintenance dans dix minutes.'

Ce sont deux choix alternatifs, pas deux commandes à exécuter successivement. Vérifiez le diagnostic et le statut de retour, puis la demande prévue avec --show si votre version le permet. Ne prenez pas l’absence d’un texte précis pour un échec : le message affiché varie selon la version et le contexte de session.

Le message wall prévient les sessions concernées que l’arrêt est prévu. Sa visibilité dépend des sessions et ne garantit pas que chaque utilisateur d’une application a été informé. Dans le fonctionnement systemd documenté, /run/nologin est créé cinq minutes avant l’arrêt prévu pour empêcher de nouvelles connexions ordinaires.

Annuler une demande qui est encore en attente

Si votre intervention est reportée, vérifiez que la demande actuelle est bien celle à annuler, puis demandez l’annulation :

sudo shutdown -c

Contrôlez ensuite de nouveau la planification avec --show si disponible et informez les personnes concernées selon votre procédure. Une autre automatisation peut planifier ultérieurement une nouvelle action : annuler la demande actuelle ne désactive pas tous les mécanismes de maintenance de la machine.

-c ne garantit pas de stopper une procédure déjà engagée et ne vise pas une action immédiate now ou +0. Si vous devez conserver une possibilité d’annulation, prévoyez dès le début un délai réel ; ne comptez pas sur une seconde commande envoyée juste après un arrêt immédiat.

Après l’échéance d’une action non annulée, la déconnexion distante ne prouve pas que le redémarrage a réussi. La procédure de préparation et de vérification avec reboot détaille les contrôles du démarrage et des services. Pour une mise hors tension, prévoyez séparément le moyen autorisé de remettre la machine sous tension.

Distinguer les formats de temps et les options

Forme Sens dans l’implémentation systemd
now ou +0 Demander l’action immédiatement.
+N Demander l’action après N minutes.
hh:mm Donner une heure sur 24 heures ; vérifier précisément les règles de la version installée.
-r Redémarrer.
-P Mettre hors tension.
-H Arrêter le système sans demander nécessairement la mise hors tension.
-c Annuler une demande différée encore en attente.
--show Afficher l’action planifiée sur les versions qui le proposent.

Respectez la casse : -H demande halt, tandis que -h correspond à la mise hors tension, avec une exception lorsque l’action halt a déjà été choisie. Les combinaisons d’options d’action rendent donc une lecture rapide trompeuse ; utilisez une seule action explicite, -P ou -r, pour les exemples de ce guide.

Le temps indique le premier instant où l’action peut commencer, pas une garantie de retour des applications à une heure exacte. Le manuel systemd cité décrit une heure hh:mm déjà écoulée comme une demande immédiate : ne supposez pas qu’elle vise automatiquement le lendemain. Vérifiez ces règles dans votre version installée. Un délai relatif explicite comme +10 réduit cette ambiguïté pour une intervention proche ; relisez toujours la planification renvoyée.

Le manuel shutdown de systemd précise les actions, les temps, les messages et l’annulation. Les anciens systèmes d’initialisation peuvent avoir des valeurs par défaut différentes ; le manuel installé fait référence pour votre machine.