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-fr...@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_dist...@$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_dist...@$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_dist...@$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/
>
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à