shutdown : Arrêter et redémarrer un système Linux (systemd)
Table des matières
La commande shutdown permet d'arrêter ou redémarrer un système Linux de manière contrôlée.
La commande shutdown est historiquement une commande système dédiée.
La commande shutdown nécessite les droits root pour être exécutée.
Pour arrêter le système, on invoquera la commande sans options ou avec l'option -h :
L'arrêt sera initié 60 secondes après la validation de la commande.
Un message est envoyé à tous les utilisateurs connectés avertissant de l'arrêt du système :
Si on souhaite redémarrer le système, l'option -r est à utiliser (sans now, le redémarrage s'opère au bout de 60 secondes) :
Grâce à la commande shutdown, on pourra planifier l'arrêt (avec -h) ou le redémarrage (avec -r) en spécifiant une chaîne d'indication d'heure de la forme suivante :
Par exemple, pour planifier un redémarrage à 22:00 :
Lorsqu'un arrêt ou redémarrage a été planifié, il est possible de l'annuler.
On pourra vérifier si un arrêt ou redémarrage a été planifié avec :
Ce qui peut nous retourner ce type de message si c'est le cas :
Pour annuler la planification, invoquer shutdown avec l'option -c :
Un message est envoyé à tous les utilisateurs connectés avertissant de l'annulation :
Lorsque la commande shutdown est utilisée, un message est diffusé à tous les utilisateurs :
Il est possible de ne pas afficher ce message avec --no-wall aussi bien dans le cas de la planification que de l'annulation de la planification :
Il n'est pas possible, à ma connaissance, de personnaliser le message envoyé par shutdown.
La solution possible est la suivante : Planifier l'opération avec l'option --no-wall et d'utiliser la commande wall en complément :
On notera que le shell qui émet la commande wall ne reçoit pas le message de diffusion.
Introduction
La commande shutdown permet d'arrêter ou redémarrer un système Linux de manière contrôlée.
La commande shutdown est historiquement une commande système dédiée.
La commande shutdown nécessite les droits root pour être exécutée.
Arrêt et redémarrage du système
Pour arrêter le système, on invoquera la commande sans options ou avec l'option -h :
Code BASH :
shutdown -h
L'arrêt sera initié 60 secondes après la validation de la commande.
Un message est envoyé à tous les utilisateurs connectés avertissant de l'arrêt du système :
Code :
Broadcast message from root@testdays on pts/3 (Thu 2024-02-22 18:37:07 CET):
The system will power off at Thu 2024-02-22 18:38:07 CET!
Si on souhaite redémarrer le système, l'option -r est à utiliser (sans now, le redémarrage s'opère au bout de 60 secondes) :
Code BASH :
shutdown -r now
Planifier un arrêt du système
Grâce à la commande shutdown, on pourra planifier l'arrêt (avec -h) ou le redémarrage (avec -r) en spécifiant une chaîne d'indication d'heure de la forme suivante :
- +m : où m est le délai en minutes
- hh:mm : où hh:mm est l'heure à laquelle exécuter l'action
Par exemple, pour planifier un redémarrage à 22:00 :
Code BASH :
shutdown -r 22:00
Code :
Reboot scheduled for Thu 2024-02-22 22:00:00 CET, use 'shutdown -c' to cancel.
Annuler un arrêt planifié
Lorsqu'un arrêt ou redémarrage a été planifié, il est possible de l'annuler.
On pourra vérifier si un arrêt ou redémarrage a été planifié avec :
Code BASH :
shutdown --show
Ce qui peut nous retourner ce type de message si c'est le cas :
Code :
Shutdown scheduled for Thu 2024-02-22 22:00:00 CET, use 'shutdown -c' to cancel.
Pour annuler la planification, invoquer shutdown avec l'option -c :
Code BASH :
shutdown -c
Un message est envoyé à tous les utilisateurs connectés avertissant de l'annulation :
Code :
Broadcast message from root@testdays on pts/1 (Thu 2024-02-22 18:59:42 CET):
System shutdown has been cancelled
Personnaliser les messages de diffusion
Lorsque la commande shutdown est utilisée, un message est diffusé à tous les utilisateurs :
Code :
Broadcast message from root@testdays on pts/1 (Thu 2024-02-22 19:02:41 CET):
The system will power off at Thu 2024-02-22 19:07:41 CET!
Il est possible de ne pas afficher ce message avec --no-wall aussi bien dans le cas de la planification que de l'annulation de la planification :
Code BASH :
shutdown -h +5 --no-wall
Il n'est pas possible, à ma connaissance, de personnaliser le message envoyé par shutdown.
La solution possible est la suivante : Planifier l'opération avec l'option --no-wall et d'utiliser la commande wall en complément :
Code BASH :
shutdown -h +5 --no-wall wall "On reboot dans 5 minutes!"
On notera que le shell qui émet la commande wall ne reçoit pas le message de diffusion.