Ajout sauvegarde docker
This commit is contained in:
133
backup_and_restore/sauvegarde_docker/README.md
Normal file
133
backup_and_restore/sauvegarde_docker/README.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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 :
|
||||
```bash
|
||||
chmod +x sauvegarde_docker.sh
|
||||
chmod +x verification_sauvegarde_docker.sh
|
||||
```
|
||||
3. Adapter les chemins dans la configuration si nécessaire
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Sauvegarde manuelle
|
||||
|
||||
```bash
|
||||
./sauvegarde_docker.sh
|
||||
```
|
||||
|
||||
### Vérification des sauvegardes
|
||||
|
||||
```bash
|
||||
./verification_sauvegarde_docker.sh
|
||||
```
|
||||
|
||||
### Automatisation avec cron
|
||||
|
||||
Exemple pour une sauvegarde quotidienne à 2h00 :
|
||||
|
||||
```bash
|
||||
# É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
|
||||
|
||||
```bash
|
||||
tail -f /home/docker/docker-backup.log
|
||||
```
|
||||
Reference in New Issue
Block a user