Gestion d'une Sauvegarde MongoDB via FTP et Injection dans une Base de Données
Contexte
Un client, une grande école, utilise un CRM dont le prestataire ne les autorise pas à accéder à la
base de données en lecture directe. Le client souhaite récupérer régulièrement une sauvegarde
de la base de données MongoDB via FTP et l'injecter dans leur propre serveur MongoDB pour
des besoins d'analyse et de reporting.
Objectifs
1. Mettre en place un serveur FTP*: Con gurer un serveur FTP sécurisé pour recevoir les
sauvegardes de la base de données MongoDB. Ce serveur FTP devra permettre la création de
comptes utilisateurs et l'accès sécurisé aux chiers de sauvegarde.
2. Con gurer un serveur MongoDB : Installer et con gurer un serveur MongoDB local qui recevra
les sauvegardes de la base de données. Assurez-vous que MongoDB est correctement con guré
pour accueillir les données provenant des sauvegardes.
3. Écrire un script d'automatisation : Développer un script en Python qui automatisera les étapes
suivantes :
- Connexion au serveur FTP pour télécharger la dernière sauvegarde de la base de données.
- Extraction des chiers de sauvegarde si nécessaire.
- Injection des données de la sauvegarde dans le serveur MongoDB local.
4. Plani er l'exécution du script : Con gurer le système pour exécuter automatiquement le script
à intervalles réguliers en utilisant un plani cateur de tâches.
Étape 1 : Mettre en place un serveur FTP
- Installer un serveur FTP (par exemple, `vsftpd`) sur une machine dédiée.
- Con gurer le serveur FTP pour permettre les connexions sécurisées et la création de comptes
utilisateurs.
- Créer un utilisateur FTP dédié à la réception des sauvegardes.
- Con gurer les permissions pour que cet utilisateur puisse lire et écrire dans le répertoire des
sauvegardes.
Étape 2 : Con gurer un serveur MongoDB
- Installer MongoDB sur une machine dédiée.
- Con gurer MongoDB pour qu'il soit prêt à recevoir les données des sauvegardes.
- Assurez-vous que MongoDB est correctement démarré et accessible.
Étape 3 : Écrire le script de récupération et d'injection
- Écrire un script en Python qui se connecte au serveur FTP en utilisant les informations
d'authenti cation fournies.
- Télécharger la dernière sauvegarde de la base de données à partir du serveur FTP.
- Si la sauvegarde est compressée, la décompresser pour obtenir les chiers de données.
- Utiliser les bibliothèques MongoDB de Python pour injecter les données dans le serveur
MongoDB local.
- S'assurer que le script nettoie les anciennes données avant d'injecter les nouvelles pour éviter
les doublons ou les incohérences.
Étape 4 : Plani er l'exécution du script
- Utiliser un plani cateur de tâches (par exemple, `cron` sous Linux) pour exécuter le script
automatiquement à intervalles réguliers.
- Con gurer une tâche récurrente pour exécuter le script quotidiennement, hebdomadairement ou
selon la fréquence souhaitée.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
- Tester la plani cation pour véri er que le script s'exécute correctement et que les données sont
bien injectées dans MongoDB.
fi
fi