Remarque, la petite optimisation pour backup en parallèle peut aussi se faire directement avec GNU Parallel http://www.gnu.org/software/parallel/ même principe que xargs
2010/11/16 Greg greg-frsag@duchatelet.net:
Bonsoir,
petite optimisation rapide de ta boucle for, gain de temps et d'espace disque :
for i in $( echo "show databases;" | mysql -uadmin -p$MOT_DE_PASSE_SQL | grep -v "Database" ); do mysqldump $i -u $UTILISATEUR_SQL --password=$MOT_DE_PASSE_SQL | gzip | ssh $UTILISATEUR_DISTANT@$SERVEUR_DEST "cat >$DOSSIER_DEST/$PREFIX$i.sql.gz" done
Et une autre optimisation pour backupper en // (à tester j'ai écris comme ça) :
NB_CORES=$( grep processor /proc/cpuinfo | wc -l ) for db in $( mysql -uadmin -p$MOT_DE_PASSE_SQL -e "show databases" ); do mysql -ABN -uadmin -p$MOT_DE_PASSE_SQL -e "SELECT TABLE_NAME FROM TABLES WHERE TABLE_SCHEMA='$db'" information_schema | xargs -n1 -P$NB_CORES -I{} sh -c "mysqldump -uadmin -p$MOT_DE_PASSE_SQL $db {} | gzip | ssh $UTILISATEUR_DISTANT@$SERVEUR_DEST 'cat >$DOSSIER_DEST/$PREFIX$i.sql.gz'" done
Le 16/11/2010 16:49, Laurent Druffin a écrit :
#!/bin/sh DOSSIER_TEMPORAIRE_LOCAL=/xxx/xxx/xxx SERVEUR_DEST=xxxxxx DOSSIER_DEST=/xxxx/xxx/xxx UTILISATEUR_DISTANT=xxxxx MOT_DE_PASSE_SQL=xxxxx UTILISATEUR_SQL=admin PREFIX=serveur-xxxx-
for i in $( echo "show databases;" | mysql -uadmin -p$MOT_DE_PASSE_SQL | grep -v "Database" ); do mysqldump $i -u $UTILISATEUR_SQL --password=$MOT_DE_PASSE_SQL > $DOSSIER_TEMPORAIRE_LOCAL/$i.sql gzip $DOSSIER_TEMPORAIRE_LOCAL/$i.sql
# penser avant au certificat SSH et au ~/.ssh/authorized_keys kivabien ! scp $DOSSIER_TEMPORAIRE_LOCAL/$i.sql.gz $UTILISATEUR_DISTANT@$SERVEUR_DEST:$DOSSIER_DEST/$PREFIX$i.sql.gz rm $DOSSIER_TEMPORAIRE_LOCAL/$i.sql.gz done
# restauration avec la commande : # gunzip fichier_sauvegarde.sql.gz # mysql -u root -p NomDeLaBase < fichier_sauvegarde.sql #eof()
et un simple crontab kivabien aussi... :) C'est basique et sûrement améliorable (garder un historique par exemple), mais ça fonctionne et ça répond à mes besoins.
My 2 cents... ^^ _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
-- Greg
Liste de diffusion du FRsAG http://www.frsag.org/