Au travers des divers articles et tutos du blog, nous mettons en place plusieurs scripts PHP qui très souvent font référence à une base de données MySQL. Que ce soit sur un Raspberry Pi transformé en serveur web ou sur un NAS Synology, nous multiplions les usages des serveurs web locaux et de leurs bases de données. Aujourd’hui je vais vous expliquer comment créer un petit script bash sur votre Raspberrypi afin de réaliser une sauvegarde automatique de la ou les bases de données qu’il embarque.
Cela pourrait bien vous retirer une belle épine du pied le jour où la base de données viendra à se corrompre ou tomber.
Les prérequis
Pour commencer il faut déjà se connecter en SSH au Raspberry Pi et se placer dans le répertoire ou sera notre script, pour ma part j’ai créé un répertoire “scripts” qui héberge tout mes scripts, mais libre à vous de le nommer comme vous le désirez.
1 Pour rappel pour créer un nouveau répertoire sous Linux, il faut utiliser la commande mkdir :
sudo mkdir scripts
2 A présent, placez-vous ensuite dans ce nouveau répertoire avec la commande cd:
cd scripts
3 Créez et éditez le fichier backup_bdd.sh avec la commande suivante
nano backup_bdd.sh
Maintenant que nous sommes sous l’éditeur nano nous allons pouvoir saisir le code de notre script de sauvegarde
Le script
1 A présent, il faut saisir le script suivant dans l’éditeur nano du Raspberry Pi
#!/bin/bash # ## on se place dans le répertoire ou l'on veut sauvegarder les bases # cd /home/pi/scripts/backups/ # parcours les bases for i in nom_de_la_bdd; do ## Sauvegarde des bases de données en fichiers .sql mysqldump -utilisateur -pmot_de_passe $i > ${i}_`date +"%Y-%m-%d"`.sql ## Compression des exports en tar.bz2 tar jcf ${i}_`date +"%Y-%m-%d"`.sql.tar.bz2 ${i}_`date +"%Y-%m-%d"`.sql ## Suppression des exports non-compresses rm ${i}_`date +"%Y-%m-%d"`.sql done
2 copier/coller le script ci-dessus en changeant /home/pi/scripts/backups/ par le chemin ou vous voulez réaliser la sauvegarde, nom_de_la_bdd par le nom de la base de donnée à backuper, utilisateur par le nom de l’utilisateur de la BDD (root en général) et mot_de_passe par le mont de passe que vous utilisez pour vous connecter à phpmyadmin.
Conclusion
En conclusion, vous venez de créer un script de sauvegarde de votre base de données MySQL. Nous verrons dans un prochain article comment nettoyer le répertoire de sauvegarde afin de ne garder que les 5 derniers backups.
Vous pouvez à présent vous reporter à mon article editer la crontab du raspberry pour ajouter ce script à la crontab du rpi afin qu’elle soit complètement automatisée.
Dernière mise à jour du tarif le 2024-12-26 at 20:22
Add Comment