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)