Files
scripts-admin-debian/backup_and_restore/sauvegarde_docker
2025-09-01 00:28:20 +02:00
..
2025-08-08 18:47:41 +02:00
2025-09-01 00:28:20 +02:00

Sauvegarde Docker

Système de sauvegarde automatique pour services Docker avec gestion intelligente des conteneurs.

Description

Ce projet contient deux scripts Bash pour la sauvegarde et la vérification des services Docker :

  • sauvegarde_docker.sh : Script principal de sauvegarde automatique
  • verification_sauvegarde_docker.sh : Script de vérification de l'intégrité des sauvegardes

Fonctionnalités

Script de sauvegarde (sauvegarde_docker.sh)

  • Sauvegarde intelligente : Détecte automatiquement les conteneurs Docker actifs
  • Arrêt/redémarrage sécurisé : Arrête temporairement les conteneurs pendant la sauvegarde pour garantir la cohérence
  • Archivage compressé : Création d'archives .tar.gz avec horodatage
  • Vérification d'intégrité : Génération automatique de checksums SHA-256
  • Rétention automatique : Suppression des sauvegardes de plus de 7 jours
  • Journalisation complète : Logs détaillés avec horodatage
  • Gestion d'erreurs : Statistiques et codes de retour appropriés

Script de vérification (verification_sauvegarde_docker.sh)

  • Vérification d'intégrité : Contrôle des checksums SHA-256
  • Rapport visuel : Statut clair avec symboles (✓, ✗, ⚠)
  • Détection des anomalies : Identification des fichiers corrompus ou manquants

Configuration

Paramètres par défaut

SRV_DIR="/home/docker/srv"          # Répertoire source des services
BACKUP_DEST="/home/docker/backup"    # Répertoire de destination
RETENTION_DAYS=7                     # Durée de rétention en jours
LOG_FILE="/home/docker/docker-backup.log"  # Fichier de log

Prérequis

  • Docker : Requis pour la gestion des conteneurs (optionnel)
  • Bash : Version 4.0 ou supérieure
  • Espace disque : Au moins 1 GB disponible (vérification automatique)
  • Permissions : Accès en écriture aux répertoires de sauvegarde

Installation

  1. Cloner ou télécharger les scripts dans un répertoire
  2. Rendre les scripts exécutables :
    chmod +x sauvegarde_docker.sh
    chmod +x verification_sauvegarde_docker.sh
    
  3. Adapter les chemins dans la configuration si nécessaire

Utilisation

Sauvegarde manuelle

./sauvegarde_docker.sh

Vérification des sauvegardes

./verification_sauvegarde_docker.sh

Automatisation avec cron

Exemple pour une sauvegarde quotidienne à 2h00 :

# Éditer la crontab
crontab -e

# Ajouter la ligne suivante
0 2 * * * /chemin/vers/sauvegarde_docker.sh

Structure des sauvegardes

/home/docker/backup/
├── service1/
│   ├── service1_2025-01-15_02-00-01.tar.gz
│   ├── service1_2025-01-15_02-00-01.tar.gz.sha256
│   └── service1_2025-01-16_02-00-01.tar.gz
├── service2/
│   └── service2_2025-01-16_02-00-01.tar.gz
└── docker-backup.log

Logs et monitoring

Fichier de log

Le fichier /home/docker/docker-backup.log contient :

  • Horodatage de chaque opération
  • Statut des conteneurs Docker
  • Taille des archives créées
  • Erreurs et avertissements
  • Statistiques de fin d'exécution

Codes de retour

  • 0 : Sauvegarde réussie sans erreur
  • 1 : Erreurs détectées (vérifier les logs)

Sécurité et bonnes pratiques

  • Les conteneurs sont arrêtés proprement avant sauvegarde
  • Attente de 5 secondes après arrêt pour garantir la cohérence
  • Vérification automatique des checksums
  • Gestion des erreurs avec tentatives de récupération
  • Logs détaillés pour audit et débogage

Dépannage

Problèmes courants

  1. Docker non accessible : Vérifier l'installation et les permissions
  2. Espace disque insuffisant : Libérer de l'espace ou ajuster la rétention
  3. Conteneur ne redémarre pas : Vérifier les logs Docker et la configuration

Vérification des logs

tail -f /home/docker/docker-backup.log