Avec un serveur de bases de données, il faut s'assurer de faire un dump minimum quotidien des données, jusqu'à maintenant j'avais un script de ma conception pour réaliser ce dump, mais je viens de découvrir la disponibilité d'un autre script bien plus avantageux : Automatic Mysql Backup.
En téléchargeant ce automysqlbackup, j'ai enfin trouvé le script idéal pour faire une sauvegarde de mes bases de données.
Automysqlbackup va nous permettre :
- Dump des différentes bases dans des fichiers séparés et dans un seul et même fichier (plus facile pour restaurer tout d'un coup).
- Compression des fichiers sauvegardés afin d'économiser l'espace disque utilisé.
- Génération de rapport de sauvegarde par email.
- Possibilité de joindre le backup dans l'email (réservé au sauvegarde de base peu volumineuse).
- ...
La personnalisation du script est très facile et son installation rapide.
Aussi certains de mes utilisateurs souhaitaient avoir un dump quotidien de leur base de données disponible via FTP afin de faciliter leur propre sauvegarde ou encore de ne pas avoir à le générer via un outil externe ( ex : PhpMyAdmin), jai donc crée un petit script qui doit s'exécuter à la suite de Automysqlbackup et qui va permettre de mettre à disposition des utilisateurs de mon serveur un dump quotidien archivé avec une rétention de 7 jours directement accessible depuis leur compte FTP.
Voici le script :
#!/bin/bash
#copie les dumps des bases mysql dans les home de chaque user
#test si existence répertoire de dump (exclusion de rep avec grep -v)
for i in $(ls /home |grep -v backup |grep -v celine |grep -v nepasdumper)
do
if ! [ -d /home/$i/dumps ]
then
#on cree les repertoires non existant
mkdir -p /home/$i/dumps
echo "creation du repertoire /home/$i/dumps"
echo ""
else
#on copie les dumps du daily
rsync -avz --delete /home/backup/mysql/daily/$i/* /home/$i/dumps
fi
done
Bien sûr ce script est à personnaliser en fonction de votre architecture, mais bon mes utilisateurs sont contents et moi aussi
A+