Perso j'utilise backuppc (comme déjà dis sur la liste d'ailleurs).
Pour ce qui est des opérations un peu spéciales, j'ai remplacé sur certaines machines le binaire rsync par un script sh, qui fait appel quand il faut au vrai binaire rsync. Ca permet justement de lancer des pré ou post commandes.
Hope this help :)
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/
_______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/