Actions











Mon script de backup de MySQL

Écrit le 27/04/2010 @ 15:48 par Drizzt

Informatique - ProgrammationUn petit outil pour les administrateurs de MySQL! Comme vous le savez peut-être, plusieurs engins de bases de données sont disponibles sous MySQL, mais la prise de copies des tables créées avec ceux-ci peuvent se trouver problématiques. Il est donc impossible de faire un backup des tables InnoDB avec mysqlhotcopy sans risquer de perdre des données.

La solution me semble donc de faire un backup logique, ce qui dans mon cas n'est pas beaucoup plus long (123 secondes plutôt que 88), ce qui permet aussi de prendre en backup n'importe quel engin de base de données sous MySQL.

Voici donc le-dit script :

#!/bin/bash

echo
echo _______________________________________________________________________
echo
echo `date +%T` : Backup des bases de donnees MySQL
echo _______________________________________________________________________
echo
mkdir /tmp/backup_sql/
chmod 0777 /tmp/backup_sql/
find /var/lib/mysql/* -type d | awk -F "/" '{ print $5 }' > /tmp/dblist.$$
for i in `cat /tmp/dblist.$$`
do
echo `date +%T` : Backup de $i
mysqldump --single-transaction --flush-logs --master-data=2 -B --delete-master-logs $i > /tmp/backup_sql/$i.sql
done
rm -Rf /tmp/dblist.$$
tar -czf /path/to/backup.tgz /tmp/backup_sql
rm -Rf /tmp/backup_sql
echo `date +%T` : Fin

Pas de commentaires


Tous les blogs
<< Passage à RoundCube 0.4 | Retour aux blogs | Est-ce que internet va s'arrêter le 5 mai? >>
Blogs de la même catégorie
<< Windows PowerShell | Mesa 7.9 dev : comment configurer, compiler et tester. >>