Base de connaissances

Conteneurs LXC Avancé 17 min

Préparer une restauration de conteneur

Savoir quoi vérifier avant de restaurer des données ou de repartir sur un conteneur propre.

Objectif pratique

Éviter une restauration risquée en listant les contrôles à effectuer avant de remettre un service LXC en ligne.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Commencer par l’inventaire
  2. Valider les archives
  3. Restaurer hors production si possible
  4. Reposer les droits fichiers
  5. Tester le service avec calme

Guide détaillé

Étape 1

Commencer par l’inventaire

Avant de restaurer, retrouvez la distribution, les paquets, les chemins de données et les services attendus. Restaurer sans inventaire multiplie les surprises.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour ce conteneur LXC, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Commencer par l’inventaire" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 2

Valider les archives

Vérifiez taille, date et contenu des sauvegardes. Une archive présente mais incomplète ne doit pas être utilisée comme base unique.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour ce conteneur LXC, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Valider les archives" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 3

Restaurer hors production si possible

Un conteneur de test permet de relire les données sans écraser l’existant. C’est précieux quand la cause de l’incident n’est pas claire.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Tester une restauration sans toucher la production

Une sauvegarde n’est utile que si elle se relit. Restaurez dans un dossier temporaire ou une machine de test avant la production.

Debian / Ubuntu
sudo mkdir -p /tmp/restore-test
sudo tar -xzf /root/backups/etc-$(date +%F).tar.gz -C /tmp/restore-test
sudo tar -tzf /root/backups/app-$(date +%F).tar.gz | head
sudo diff -qr /etc /tmp/restore-test/etc | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -xzf` extrait une archive compressée vers le dossier choisi.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.
  • `sudo diff -qr /etc /tmp/restore-test/etc | head` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 4

Reposer les droits fichiers

Après copie, les permissions et propriétaires sont souvent le vrai problème. Contrôlez-les avant de conclure que l’application est cassée.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour ce conteneur LXC, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Reposer les droits fichiers" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 5

Tester le service avec calme

Validez les pages, tâches planifiées, connexions base et journaux. Le retour en ligne ne se limite pas à un processus démarré.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Contrôler un service systemd

systemd donne l’état réel du service, son démarrage automatique et les journaux utiles au diagnostic.

Debian / Ubuntu
sudo systemctl daemon-reload
sudo systemctl enable --now app.service
systemctl status app.service --no-pager
journalctl -u app.service -n 100 --no-pager
Ce que font les commandes
  • `systemctl daemon-reload` recharge les unités systemd après modification d’un fichier de service.
  • `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
  • `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Checklist finale

  • Inventaire prêt
  • Export cohérent
  • Droits vérifiés