Automatiser l’arrêt d’un serveur peut être utile dans de nombreuses situations, notamment pour économiser de l’énergie ou pour s’assurer qu’un serveur n’est pas en marche à des moments spécifiques. Dans cet article, nous allons voir comment utiliser cron pour planifier l’arrêt automatique d’un serveur Proxmox chaque jour à 2h15 du matin, en s’assurant que toutes les machines virtuelles (VMs) sont correctement arrêtées avant.
Étape 1 : Utiliser cron pour planifier l’arrêt du serveur
cron est un service de planification de tâches sous Linux qui permet d’exécuter des commandes à des moments spécifiques. Pour arrêter votre serveur Proxmox tous les jours à 2h15 du matin, suivez ces étapes :
- Ouvrez le fichier
crontabde l’utilisateur root (nécessaire pour arrêter le serveur) :
crontab -eBash- Ajoutez la ligne suivante pour programmer l’arrêt quotidien à 2h15 :
15 2 * * * /sbin/shutdown -h nowBash- Explication :
15: minutes (15 minutes après l’heure complète)2: heure (2h du matin)* * *: tous les jours/sbin/shutdown -h now: commande pour arrêter immédiatement le serveur.
- Sauvegardez et fermez l’éditeur. Cette tâche est désormais programmée pour s’exécuter quotidiennement à 2h15.
Étape 2 : Assurer l’arrêt propre des VMs
Avant d’arrêter le serveur, il est important que toutes les VMs ou containers en cours d’exécution soient arrêtés proprement. Vous pouvez gérer cela de deux manières.
Option 1 : Arrêt automatique des VMs via cron
Ajoutez une autre tâche cron qui arrêtera toutes les VMs 15 minutes avant l’arrêt du serveur, soit à 2h00.
- Toujours dans
crontab -e, ajoutez la ligne suivante :
0 2 * * * /usr/sbin/pvesh create /nodes/<nom_du_serveur>/shutdown --timeout 900Bash- Cette commande arrêtera proprement toutes les VMs et containers du nœud Proxmox avant d’éteindre le serveur. Le paramètre
--timeout 900donne 15 minutes pour l’arrêt des VMs.
Option 2 : Utiliser l’interface graphique Proxmox
Une autre option consiste à configurer chaque VM pour qu’elle s’arrête automatiquement lors de l’arrêt du nœud Proxmox. Voici comment faire :
- Connectez-vous à l’interface web de Proxmox.
- Sélectionnez une VM, puis allez dans Options > Shutdown behavior.
- Choisissez l’option Shutdown pour arrêter proprement la VM.
- Répétez l’opération pour toutes les VMs.
Étape 3 : Vérification et tests
Testez manuellement l’arrêt des VMs et du serveur en exécutant les commandes depuis le terminal pour vous assurer que tout fonctionne comme prévu. Vous pouvez tester la commande de shutdown des VMs avec :
/usr/sbin/pvesh create /nodes/<nom_du_serveur>/shutdown --timeout 900Bash
