proxmox cron shutdown

Programmer l’arrêt automatique d’un serveur Proxmox à l’aide de cron

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 :

  1. Ouvrez le fichier crontab de l’utilisateur root (nécessaire pour arrêter le serveur) :
Bash
crontab -e
Bash

  1. Ajoutez la ligne suivante pour programmer l’arrêt quotidien à 2h15 :
Bash
15 2 * * * /sbin/shutdown -h now
Bash
  1. 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.
  2. 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.

  1. Toujours dans crontab -e, ajoutez la ligne suivante :
Bash
0 2 * * * /usr/sbin/pvesh create /nodes/<nom_du_serveur>/shutdown --timeout 900
Bash
  1. Cette commande arrêtera proprement toutes les VMs et containers du nœud Proxmox avant d’éteindre le serveur. Le paramètre --timeout 900 donne 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 :

  1. Connectez-vous à l’interface web de Proxmox.
  2. Sélectionnez une VM, puis allez dans Options > Shutdown behavior.
  3. Choisissez l’option Shutdown pour arrêter proprement la VM.
  4. 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 :

Bash
/usr/sbin/pvesh create /nodes/<nom_du_serveur>/shutdown --timeout 900
Bash