Webmaster Hub: Recherche scripts / conseils pour backup MySQL - Webmaster Hub

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Recherche scripts / conseils pour backup MySQL Noter : -----

#1 L'utilisateur est hors-ligne   vespa 

  • Vespa
  • Groupe : Hubmaster
  • Messages : 640
  • Inscrit(e) : 23-juin 04
  • Localisation:Paris

Posté 09 mars 2006 - 11:20

Bonjour,

J'aimerais avoir votre avis sur ce qui convient d'utiliser ou de faire (compressé ? et si oui à quel format etc.) pour des backups réguliers de quelques bases de données, dont une un peu lourde ?

Et si vous connaissez un bon script ou programme pour ça :)

Merci d'avance

PS : backup sur le même serveur sur le même disque (pour le moment)
0

#2 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 09 mars 2006 - 11:24

Salut Vespa,

Tout simplement avec mysqldump... en mettant les bons paramètres tu peux tout sauver rapidement,

Sur le Hub j'utilise ceux-ci toutes les 3 heures:
mysqldump -u$USER -p$PASSWORD -e -q -Q --add-drop-table $i | gzip > $LOCALDIR/$i.sql.gz


Il faut définir les variables USER, PASSWORD et LOCALDIR, et c'est tout bon :)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#3 L'utilisateur est hors-ligne   vespa 

  • Vespa
  • Groupe : Hubmaster
  • Messages : 640
  • Inscrit(e) : 23-juin 04
  • Localisation:Paris

Posté 09 mars 2006 - 13:18

Merci Dan pour cette information :)
Lorsque tu dis qu'il faut définir les variables, c'est comme en php ?

$USER = "TOTO";

Et il y a un moyen de lui dire pour quelle base de donnée on souhaite la sauvegarde ?

Et le script il n'y a pas d'extension particulière à lui donner comme par exemple : backup.PHP ?

Désolé pour ces questions de novice :blush:
0

#4 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 09 mars 2006 - 13:49

Désolé, j'oubliais la variable $i qui chez moi contient le nom de la base...

Tu peux simplement faire, dans ton cas:
USER="root"
PASSWORD="mot_de_passe"
BASE="nom_de_la_base"
LOCALDIR="/home/mon_repertoire"
mysqldump -u$USER -p$PASSWORD -e -q -Q --add-drop-table $BASE | gzip > $LOCALDIR/$BASE.sql.gz


Ce sera plus parlant pour toi. Tu mets ces lignes dans un fichier texte que tu nommes par exemple backup.sh
Tu changes les droits avec "chmod =x backup.sh"

Puis tu peux le lancer avec ./backup.sh ou avec backup.sh s'il est dans un répertoire couvert par ton $PATH.

Si tu veux en faire une fonction qui permet de sauver toutes tes bases au choix, tu remplaces:
BASE="nom_de_la_base"

par
BASE=$1

et appelles le script par "./backup nom_de_la_base"
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#5 L'utilisateur est hors-ligne   vespa 

  • Vespa
  • Groupe : Hubmaster
  • Messages : 640
  • Inscrit(e) : 23-juin 04
  • Localisation:Paris

Posté 09 mars 2006 - 14:06

Merci Dan pour cette explication très clair ;)

Je vais essayer de mettre ça en place ce soir :)
0

#6 L'utilisateur est hors-ligne   jb084 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 11-avril 06

Posté 11 avril 2006 - 16:05

Pour "surfer" sur cette réponse, je souhaite automatiser la sauvegarde.

Dan > Ou faut il mettre le bout de code que tu as mis ci dessus pour que cela mardche correctement ?

Merci d'avance ;)
0

#7 L'utilisateur est hors-ligne   Julien L. 

  • Groupe : Membre
  • Messages : 66
  • Inscrit(e) : 10-mars 06

Posté 11 avril 2006 - 16:08

Bonsoir,
voici un lien intèressant : http://fr.wikipedia.org/wiki/Crontab
0

#8 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 11 avril 2006 - 16:29

Bonjour,

Tu peux mettre ce code dans un fichier texte, en mettant ceci comme première ligne:
#!/bin/bash
pour forcer l'interprétation par bash.

Ensuite, tu le rends exécutable avec "chmod +x nom_du_fichier
Et tu appelles ce fichier dans le crontab aux dates et heures de ton choix.

Dan
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#9 L'utilisateur est hors-ligne   Fuleran 

  • Groupe : Membre
  • Messages : 199
  • Inscrit(e) : 19-décembre 03
  • Genre:Homme
  • Localisation:Montigny le bretonneux
  • Société:Textuel La Mine

Posté 11 avril 2006 - 17:28

Un petit détour en passant : Quelqu'un aurait-il un script (shell ou php) qui permettrait de faire la synchronisation de 2 répertoire (local vers distant) par FTP ?

Le but n'est pas d'uploader tous les fichiers à chaque fois mais que les nouveaux. Il faut aussi effacer du répertoire distant les fichiers n'existant plus en local.

rsync ne m'intéresse pas car je n'ai accés au répertoire distant que par FTP...

Merci d'avance,

Benoit

Ce message a été modifié par fuleran - 11 avril 2006 - 17:29.

0

#10 L'utilisateur est hors-ligne   Tboh 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 10-avril 06
  • Localisation:Lausanne

Posté 13 avril 2006 - 14:38

Dan, le mardi 11 avril 2006, 16h29, dit :

Bonjour,

Tu peux mettre ce code dans un fichier texte, en mettant ceci comme première ligne:
#!/bin/bash
pour forcer l'interprétation par bash.

Ensuite, tu le rends exécutable avec "chmod +x nom_du_fichier
Et tu appelles ce fichier dans le crontab aux dates et heures de ton choix.

Dan
<{POST_SNAPBACK}>


Dans ce cas là, ton backup est sur ton dedié, et si on te le pirate t'es HS.
Tu as un script pour faire un ftp sur un autre server ou PC?

Tboh
0

#11 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 13 avril 2006 - 14:46

fuleran, le mardi 11 avril 2006, 18h28, dit :

Un petit détour en passant : Quelqu'un aurait-il un script (shell ou php) qui permettrait de faire la synchronisation de 2 répertoire (local vers distant) par FTP ?
<{POST_SNAPBACK}>

Les deux sont sous Linux, ou tu as une machine windows en local ?
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#12 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 13 avril 2006 - 14:48

Tboh, le jeudi 13 avril 2006, 15h38, dit :

Dans ce cas là, ton backup est sur ton dedié, et si on te le pirate t'es HS.
Tu as un script pour faire un ftp sur un autre server ou PC?
<{POST_SNAPBACK}>

Si on le pirate, ou même si le disque dur lâche... :(
Ce n'est à mon avis qu'un "backup du pauvre", qui serait déjà mieux sur un disque secondaire (on peut démonter la partition entre les backups)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#13 L'utilisateur est hors-ligne   Fuleran 

  • Groupe : Membre
  • Messages : 199
  • Inscrit(e) : 19-décembre 03
  • Genre:Homme
  • Localisation:Montigny le bretonneux
  • Société:Textuel La Mine

Posté 13 avril 2006 - 14:51

Dan, le jeudi 13 avril 2006, 15h46, dit :

Les deux sont sous Linux, ou tu as une machine windows en local ?
<{POST_SNAPBACK}>


Les deux sont sous linux mais je n'ai accés qu'à la machine locale. Le serveur de backup m'est fourni par l'hébergeur avec juste un compte FTP.

Il me faut donc un script à installer sur mon serveur qui va se connecter au serveur FTP de backup et "uploader" les fichiers locaux (avec synchro).

Merci d'avance,

Benoit
0

#14 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 13 avril 2006 - 15:08

Fast WebPage Exchanger (Weex) permet de synchroniser un repertoire ftp avec un repertoire local. Il permet de paramétrer plusieurs sites en détail (eviter tels fichiers, ignorer ces répertoires...) Le develloppement est arrêté mais on peut encore trouver weex sur le web.

Sinon, il y a aussi lftp qui peut s'utiliser en ligne de commande et a un mode "mirror" (dans les deux directions)

Dan
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#15 L'utilisateur est hors-ligne   vespa 

  • Vespa
  • Groupe : Hubmaster
  • Messages : 640
  • Inscrit(e) : 23-juin 04
  • Localisation:Paris

Posté 28 avril 2006 - 14:37

Je viens de mettre en place ce script sur mon dédié et ça à l'air de fonctionner par contre est ce que quelqu'un saurait faire pour que le lundi le backup se fasse dans "le repertoir du lundi", le mardi "dans le repertoire du mardi" afin de conserver toujours une semaine de backup minimum ?
0

#16 L'utilisateur est hors-ligne   ZuckBin 

  • Groupe : Hubmaster
  • Messages : 129
  • Inscrit(e) : 24-août 05

Posté 22 juin 2006 - 19:20

Merci beaucoup, c'est très utile, et ca fonctionne à merveille.

J'ai fais en .sh, et avec base=$1

Comment fais t'on l'opération inverse, dans le meme style.

Cordialement.
0

#17 L'utilisateur est hors-ligne   ZuckBin 

  • Groupe : Hubmaster
  • Messages : 129
  • Inscrit(e) : 24-août 05

Posté 30 juin 2006 - 09:33

Bonjour,

Lors d'un dump mysql, et celui via phpmyadmin, les 2 fichiers sont bien différents, tout les 2 en .sql:

-celui via mysql fait par ex 1292ko
-celui via phpmyadmin fait 4169ko

De plus mon fichier fait par shell via un dump mysql semble ne pas fonctionner lorsque je souhaite l'importer avec phpmyadmin.

C'est pour cela que je repose ma question:

-Comment fait on en ligne de commande shell pour réimporter le dump par dessus les anciennes bases ?

Merci,
cordialement.
0

#18 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 30 juin 2006 - 10:05

Bonjour,

La différence de taille peut s'expliquer par le fait que mo script utilise gzip, alors que phpMyAdmin a sa propre version. Mais peut-être n'as-tu même pas demandé de compression.

Pour recharger en base de données un fichier gzippé comme celui généré par ce script, il suffit d'une ligne de commande:

zcat fichier.sql.gz | mysql -uroot -pmot_de_passe nom_de_la_base

En remplaçant les mots en gras ci-dessus par les bonnes valeurs.

Dan
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#19 L'utilisateur est hors-ligne   grazianno 

  • Groupe : Membre
  • Messages : 5
  • Inscrit(e) : 06-août 06

Posté 06 août 2006 - 22:37

Voir le messageDan, le vendredi 30 juin 2006, 11h05, dit :

Bonjour,

La différence de taille peut s'expliquer par le fait que mo script utilise gzip, alors que phpMyAdmin a sa propre version. Mais peut-être n'as-tu même pas demandé de compression.

Pour recharger en base de données un fichier gzippé comme celui généré par ce script, il suffit d'une ligne de commande:

zcat fichier.sql.gz | mysql -uroot -pmot_de_passe nom_de_la_base

En remplaçant les mots en gras ci-dessus par les bonnes valeurs.

Dan


Bonjour,
est ce qu'il est possible d'envoyer ce backup à une boite mails ?

aussi comment ajouter la variable $host ds ce code

USER="root"
PASSWORD="mot_de_passe"
BASE="nom_de_la_base"
LOCALDIR="/home/mon_repertoire"
mysqldump -u$USER -p$PASSWORD -e -q -Q --add-drop-table $BASE | gzip > $LOCALDIR/$BASE.sql.gz

merci

Ce message a été modifié par grazianno - 06 août 2006 - 22:47.

0

#20 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 943
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 07 août 2006 - 10:03

Voir le messagegrazianno, le dimanche 6 août 2006, 23h37, dit :

comment ajouter la variable $host ds ce code

USER="root"
PASSWORD="mot_de_passe"
BASE="nom_de_la_base"
LOCALDIR="/home/mon_repertoire"
mysqldump -u$USER -p$PASSWORD -e -q -Q --add-drop-table $BASE | gzip > $LOCALDIR/$BASE.sql.gz

merci


Tout simplement avec une ligne telle que:
HOST=nom.du.host

et en ajoutant -h$HOST dans la ligne d'appel de mysqldump.

Pour l'envoyer par mail, il faut envoyer le fichier généré comme pièce jointe, tout simplement
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)