Sauvegarder toutes vos tables MySQL dans des fichiers séparés


La sauvegarde sur un serveur c’est important, et ce qui est important aussi c’est de s’assurer que vos sauvegardes seront toujours à jour en suivant l’évolution de vos données. Souvent on créé un petit script qui sauvegarde nos 3 bases de données, sauf que 2 semaines plus tard on créé une autre base de donnée, sans la rajouter dans ce script.

Pour éviter ca il existe une solution simple pour les bases de données MySQL. Il suffit d’éxecuter la requète SHOW DATABASES et de faire un mysqldump sur chaque ligne retournée.

Il existe un script complet permettant de faire ceci :

http://carrotplant.com/public/files/dump-all-databases.sh

Il se lance comme ceci :

./dump-all-databases.sh -u mysqluser -o /home/backup -z

Vous l’aurez compris :

  • -u : utilisateur
  • -o : dossier destination
  • -z : compression

Si vous voulez le programmer dans un cron, il faut juste faire quelques petits modifications :

  • Remplir les variables USER= » » et PASSWORD= » »
  • Supprimer le bout de code qui demande le password :
    if [ "$USER" != '' ]; then
    
    echo "Enter password for" $USER":"
    oldmodes=`stty -g`
    stty -echo
    read PASSWORD
    stty $oldmodes
    
    fi

Voila qui devrait vous permettre d’avoir une sauvegarde toujours à jour

L’idéal etant bien sur de stocker les sauvegardes sur une autre machine (montage), et des les réintégrer aussitot dans mysql pour s’assurer que les backups sont fonctionnels

 

Source : Carrotplant

Recent Content