Documentation SauvegardeBDD




Vous avez besoin de faire des sauvegardes de votre base de données ? Cet outil peut le faire automatiquement pour vous.


Installation

Installation du programme
Quand vous avez notre script, vous devez ouvrir un terminal et faire une copie du fichier .env : cp .env .env.local
Dans votre fichier .env.local, modifiez les variables :
  • DB_NAME avec le nom de votre base de données
  • DB_USER & DB_PASSWORD avec votre identifiant et mot de passe
  • KEY_DIR avec votre chemin qui mène à votre répertoire qui stocke vos clés de chiffrement
  • BACKUP_DIR avec votre chemin qui mène à votre répertoire qui stocke vos sauvegardes
  • EMAIL_OWNERBDD avec votre adresse mail

Le système de sauvegarde est configuré, le script est désormais opérationnel. Vous pouvez l'essayer manuellement avec la commande : bash chemin/vers/votre/script/nomScript.sh

Fonctionnalités

Exportation de la base de données
Technologie utilisée : mysqldump
Cette fonctionnalité récupère les identifiants et le nom de votre base de données que vous avez mis dans les paramètres : DB_USER, DB_PASSWORD, DB_NAME. Puis exporte la base de données. Le fichier sera exporté dans le dossier que vous avez configuré dans le paramètre BACKUP_DIR.
Chiffrement du fichier de sauvegarde
Technologie utilisée : gpg
Cette fonctionnalité chiffre le fichier sauvegardé dans le répertoire de sauvegarde en créant un nouveau fichier. Puis supprime l'ancien fichier.
Vérifier l'intégrité du fichier
Technologie utilisée : sha256sum
Cette fonctionnalité vérifie que le fichier chiffré, avant le transfert vers la machine B, n'est pas corrompu.
Transfert d'une machine A à une machine B
Technologie utilisée : ssh
Cette fonctionnalité transfère le fichier chiffré et le fichier qui justifie l'intégrité du fichier chiffré sur la machine B
Automatisation du script
Technologie utilisée : cron
Cette fonctionnalité rend l'exécution du script automatique tous les x temps.

Avenir du projet

Nos idées/améliorations pour la suite
  • Automatiser la partie transfert (on doit actuellement taper manuellement dans le terminal le mot de passe)
  • Vérifier l'intégrité pour toutes les étapes ou revoir le système de vérification de l'intégrité entièrement
  • Amélioration du programme avec plus de vérification sur le bon déroulement du script de A à Z
  • Création d'un script pour configurer le script de sauvegarde de base de données
  • Mettre un système de téléchargement du script dans la partie installation de la documentation
  • Rendre le projet accessible en multiplateformes (redévelopper en Python et/ou ajouter des scripts pour d'autres systèmes d'exploitation)