Aller au contenu

Sauvegarde Base Mysql


fredlime

Messages recommandés

Posté(e)

Bonjour,

J'ai installé un compteur de visites par page sur mon site TUTO.

J'utilise pour cela la base 'Mysql'. Une âme charitable pourrait me confirmer que le dossier de cette base ce trouve uniquement dans '@database'

Ou plus exactement dans mon cas '/volume1/@database'.

SYNOLOGY ne propose pas de sauvegarde de cette base de données ?

Si je copie/sauvegarde ce dossier, je récupèrerai tout en cas de pépins ? :shok:

Merci pour vos éclaircissements,

Fred. :hi:

Posté(e)

1) Si ta base de données est en mysql et non post-gre, alors oui elle se trouve dans /volume1/@database, pour en être vraiment sur il doit y avoir un dossier/base dans ce répertoire, nom de dossier=nom de la base, et dans ces dossiers nom des fichiers=nom des tables.

2) Non synology ne propose pas de sauvegarde, perso je synchronise ce dossier avec rsync tous les 30min sur ma clef USB

3) Oui tu pourra tout recuperer

Merci à toi pour tes scripts qui me sont très utile

Posté(e)

bonjour :hi: ,

Si ta base est sur le 406 la sauvegarde n'est pas utile, laisse agir l'effet RAID 1-5, pour un confort et une sécurité suplémentaire et/ou une utilisation sur le 101, pourquoi ne pas exporter ta base par un DUMP via crond ???

Posté(e)

1) Si ta base de données est en mysql et non post-gre, alors oui elle se trouve dans /volume1/@database, pour en être vraiment sur il doit y avoir un dossier/base dans ce répertoire, nom de dossier=nom de la base, et dans ces dossiers nom des fichiers=nom des tables.

2) Non synology ne propose pas de sauvegarde, perso je synchronise ce dossier avec rsync tous les 30min sur ma clef USB

3) Oui tu pourra tout recuperer

Merci à toi pour tes scripts qui me sont très utile

Re,

Oui c'est bien se que je pensais. Merci ! :good:

Je commence juste avec PHP et Mysql, c'est vraiment balaise !!

Et vu le temps que j'ai mis a installer ce compteur, il serait idiot de laisser la base sans sauvegarde.

bonjour :hi: ,

Si ta base est sur le 406 la sauvegarde n'est pas utile, laisse agir l'effet RAID 1-5, pour un confort et une sécurité suplémentaire et/ou une utilisation sur le 101, pourquoi ne pas exporter ta base par un DUMP via crond ???

Mister B2V, le responsable de mes nuits blanches depuis plus d'une semaine !! :P

Mon site tourne sur le DS-101G+, donc pas de RAID.

Je pense que je ferai un 'rsync', mais sinon, comment fais-tu ce DUMP ?

Merci,

Fred.

Posté(e)

Bonjour,

J'ai installé un compteur de visites par page sur mon site TUTO.

J'utilise pour cela la base 'Mysql'. Une âme charitable pourrait me confirmer que le dossier de cette base ce trouve uniquement dans '@database'

Pourquoi ne pas tout simplement faire un export de cette table de temps en temps par l'intermédiaire de phpmyadmin ?

Posté(e)

Mes hommages :hi:

Mister B2V, le responsable de mes nuits blanches depuis plus d'une semaine !! :P

Mon site tourne sur le DS-101G+, donc pas de RAID.

Je pense que je ferai un 'rsync', mais sinon, comment fais-tu ce DUMP ?

Les instructions mySQL:

BACKUP TABLE moniteur.ChargeCPU TO '/root/';

RESTORE TABLE moniteur.chargecpu FROM '/root/';

donc Sauvegarde:

echo "BACKUP TABLE base.table TO '/SauveMoi/' | mysql -ppassword

Restauration:

echo "RESTORE TABLE base.table FROM '/SauveMoi'/ | mysql -ppassword

Posté(e)

Effectivement fred une solution automatisée est bien mieux.

Ta commande nécessite un ipk ou tu utilises le rsync standard livré avec le syno ?

Posté(e)

Effectivement fred une solution automatisée est bien mieux.

Ta commande nécessite un ipk ou tu utilises le rsync standard livré avec le syno ?

Re,

C'est standard, sa marche pour n'importe quel dossier a sauvegarder.

Et biensur, tous les SYNOs.

A+

Fred.

Posté(e)

Re,

C'est standard, sa marche pour n'importe quel dossier a sauvegarder.

Et biensur, tous les SYNOs.

A+

Fred.

Nickel alors, merci pour l'info :good:

Pour la restauration par contre comment fait on ?

Posté(e)

Heu, j'me suis pas encore posé la question, mais a mon avis, il faut :

1-/ Couper le service MySQL dans le panel d'administration.

2-/ Effacer la base vérolée dans /volume1 avec

rm -r /volume1/@database

3/ recopier la base du dossier de sauvegarde vers son emplacement d'origine :

cp -r /dossier-de-sauvegarde/@database /volume1

4-/ Relancer le service MySQL dans le panel d'administration.

Sa devrait le faire, comme çà. :spiteful:

A+

Fred.

Posté(e)

Je vais résumer

Les 2 méthodes peuvent se faire avec la crontab

1) Rsync

Synchronisation des bases SQL

http://fredo.servehttp.com/html/Astu-20.htm#sav

ps: si on sauvegarde sur de la fat32(clef usb) la commande n'est pas la même car il n'y a pas de groupes donc on a des erreurs, je rajouterai la commande plus tard car je la connai pas par coeur.

Avantages

Utilise rsync donc peu de ressource cpu

Permet de l'incrementale donc que se qui est modifié

Inconvienients

Sauvegarde de fichiers, on ne peut pas aller chercher que 1 entrées (sauf si restaure tout juste pour ca) ou etc... (on a pas le detail)

On doit faire une commande repair (pas systematique) sur la base en cas de restauration (faire comme fredlime à dis)

Il peut y avoir des incompatibilités entre les version des mysql.

2) Dump SQL

Avantages

Fichiers textes donc lisibles

on peut dupliquer facilement une base

Inconvienients

utilise plein de ressource cpu

on sauvegarde tout à chaque fois

voila les commandes:

mettre mysqldump et mysql dans votre PATH

save -> mysqldump --host=localhost --user=user(root) --password=password nom_de_la_base > backup.sql

restaure -> mysql --host=localhost --user=root --password=pass nom_de_la_base < backup.sql

Posté(e)

Bonsoir,

Pour ma part, je prends la solution 'rsync'. Sauvegarde globale 4 fois par jour (6 heures).

Il est vrai que si tu sauvegardes sur une partition en FAT32. Il peut y avoir des problèmes de droit lors de la restauration. Dans mon cas, j'ai un 2.5" en natif, donc pas de blême.

Tu peux alors sauvegarder ta base avec la commande 'tar'.

tar -cvf /dossier_de_sauvegarde/sav_MySQL.tar /volume1/@database

Là, on aura un seul fichier en conservant les droits de chaque fichier.

Et pour restaurer:

1-/ Couper le service MySQL dans le panel d'administration.

2-/ Effacer la base vérolée dans /volume1 avec

rm -r /volume1/@database

3/ recopier la base du dossier de sauvegarde vers son emplacement d'origine :

tar -xvf /dossier_de_sauvegarde/sav_MySQL.tar -C /

4-/ Relancer le service MySQL dans le panel d'administration.

Voila, Je vais noter cette manip sur mon tuto, c'est vrai, j'ai pas pensé a la FAT 32....

Comme quoi..

A+ :hi:

Fred.

  • 3 mois après...
Posté(e)

Avantages

Fichiers textes donc lisibles

on peut dupliquer facilement une base

Inconvienients

utilise plein de ressource cpu

on sauvegarde tout à chaque fois

voila les commandes:

mettre mysqldump et mysql dans votre PATH

save -> mysqldump --host=localhost --user=user(root) --password=password nom_de_la_base > backup.sql

restaure -> mysql --host=localhost --user=root --password=pass nom_de_la_base < backup.sql

j'aimerai importer une base de donnée de taille moyennement grosse.

tu dit "mettre mysqldump et mysql dans votre PATH" comment on fait ça? on les trouve ou c'est fichier?

merci

  • 4 semaines après...
  • 1 mois après...
Posté(e)

Bonjour,

Comment peut on faire une sauvegarde qui s'incremente ?

Là, pour le moment, chaque nouvelle sauvegarde écrase la precedente.

J'aimerai faire 5 sauvegardes (ou plus) et au bout de la 5eme que la 1ere soit ecrasé, puis la seconde, etc etc

Est ce possible ??

Merci de votre reponse.

Posté(e)

Bonsoir,

Il faut utiliser un script pour cela. Sa tombe bien j'en avais fais un, pour un pote :yahoo:

Bon c'était un peu tordu, mais je viens de l'optimiser et mis quelques commentaires pour simplifier sa lecture.

Pour les aventuriers, bien sûr :D

L'installation est comme d'habitude avec mes scripts....

1-/ Ouvrir une fenêtre Telnet avec le compte 'root'

2-/ Positionnez-vous dans un dossier comme '/bin' ou '/opt/bin' si vous avez installé IPKG

cd /bin

ou

cd /opt/bin

3-/ Télécharger le script et le rendre exécutable.

wget fredo.servehttp.com/sav-dossier

chmod 777 sav-dossier

4-/ Pour l'utiliser, rien de plus simple .

sav-dossier 'dossier_source' 'dossier_de_stockage_archive' 'nombre_de_fichier_ a_garder'

Le dernier paramètre est facultatif. Il sera égal a 1 s'il n'est pas renseigné.

ou concrètement

sav-dossier /volume1/@database /volume1/public 5

Cette dernière commande, sauvegardera votre base MySQL dans une archive 'tar', que vous retrouverez dans le dossier 'public' du SYNO. On conservera 5 archives les plus récentes.

5-/ Autre astuce, si vous lancez ce script sans renseigner aucun paramètres, il utilisera par défaut ceux inscrits dans ses lignes de code.

#

nbr_sauve="3"

doss_sour="/volume1/@database"

doss_dest="/volume1/public"

#

Donc un :

sav-dossier suffira pour utiliser ces paramètres.

Voila prochainement une nouvelle page qui expliquera tout cela dans mon Tuto. Notamment la partie restauration non géré par ce script. Pour l'instant :spiteful:

Mais le plus important c'est de sauvegarder ?

A+ :hi:

Fred.

Posté(e)

Bonjour,

Merci pour la reponse si rapide.

J'ai modifié les lignes de parametres

#

nbr_sauve="3"

doss_sour="/volume1/@database"

doss_dest="/volume1/public"

#

avec les miens pour ne pas avoir à taper a chaque fois toute la commande.

C'est également plus simple pour un lancement automatique au demarage du syno.

Ne sachant pas lancer un script toutes les X heures, je reboote le syno toutes les 24h pour faire la sauvegarde.

Il est un peu plus long a se lancer, mais c'est pas génant.

En ce qui concerne la restauration, ce n'est pas important qu'elle manque au script.

J'utiliserai si besoin la commande tar -xvf /volume1/sav_bdd/fichier_de_sauvegarde.tar -C /

Apres plusieurs tests, tout fonctionne correctement.

Merci beaucoup.

Posté(e)

Bonjour,

J'ai modifié les lignes de parametres

avec les miens pour ne pas avoir à taper a chaque fois toute la commande.

C'est également plus simple pour un lancement automatique au demarage du syno.

C'est fais pour. Mais la possibilité de renseigner les chemins dans la ligne de commande est également très utile.

Cas ou l'on sauvegarde plusieurs ou d'autres dossiers.

Ne sachant pas lancer un script toutes les X heures, je reboote le syno toutes les 24h pour faire la sauvegarde.

Il est un peu plus long a se lancer, mais c'est pas génant.

C'est une option qui serai facile a mettre en place dans le script.

Je l'ais simplement ressortie de ma boite a malice et rafraichis un peu, vu qu'il répondait spécialement a tes attentes.

Mon bon cœur me perdra ? Je sais....

En ce qui concerne la restauration, ce n'est pas important qu'elle manque au script.

J'utiliserai si besoin la commande tar -xvf /volume1/sav_bdd/fichier_de_sauvegarde.tar -C /

Oui, c'est aussi se que je mense. Par contre, si tu restaures MySQL, il faudra arrêter ce service dans le panel d'administration du SYNO. Histoire de bloquer toutes écritures pendant cette restauration de la base. =@

A+ :hi:

Fred.

  • 7 mois après...
Posté(e)

Bonsoir,

la modification de ce script m'interesse beaucoup pour automatiser mes sauvegardes.

j'ai bien récupérer le fichier mais une fois modifier dans un éditeur de texte quel extension il faut lui donner?

j'ai tenté .bin .sh .txt .exe ...

Quand je le telecharge sur le syno à partir de mon site, je n'arrive pas à l'executer...

voici ce que je fait:

cd /bin pour me placer dans le rep

wget MonIP/sav-dossier pour telecharger le script

chmod 777 sav-dossier

sav-dossier pour l'executer mais rien ne ce passe car le fichier est introuvable.

Dans l'attente de lire vos réponses

Bonne fin de soirée

Snowboarder

Posté(e)

Bonsoir,

essai :

wget fredo.servehttp.com/sav-dossier

sa marchera mieux ;)

Bonne nuit,

Fred. :hi:

Posté(e)

Bonsoir fredlime,

Merci de ta réponse.

Je suis d'accord avec toi, ton script fonctionne à merveille lorsque je le récupère directement sur mon sino.

Ce que je souhaite faire c'est changer la valeur des nombres de sauvegarde que tu as mis par defaut de 3 je souhaite le passer à 7.

Puis je souhaite également changer le chemin de sortie par defaut par celui-ci /volumeUSB1/usbshare pour pouvoir sauvegarder sur une clef USB.

Une fois tout ces paramètres changés pour mon besoin il me semble qu'il est possible avec cette commande d'automatiser la sauvegarde:

echo -e "0\t1\t*\t*\t*\troot\tsav-dossier" /etc/crontab

t1 pour exécuter le script à 1H00 du matin.

Mon problème c'est comment faire pour modifier le script... je l'ai bien modifié avec le bloc-note mais je le sauvegarde avec quel extension?

Merci.

Posté(e)

Bonjour,

Alors, les scripts sous linux ne supportent pas l'édition avec le Bloc-note de Windows.

Problème de fin de ligne, mais peu importe c'est comme çà !

Il faut le faire avec 'vi' ou autre éditeur de texte sous Linux dans Telnet.

Bon comme je suis une bonne humeur, je te l'ai fait, selon tes souhaits :D

7 sauvegardes et dossier de destination '/volumeUSB1/usbshare'

cd /bin

wget fredo.servehttp.com/sav-snow

Ensuite pour l'exécution auto avec crontab. Si tu ne connais pas 'vi' c'est un peu coton.

mais la commande exacte est :

echo -e "0\t1\t*\t*\t*\troot\tsh /bin/sav-snow" >> /etc/crontab

Les \t sont des caractères de tabulation afin de séparé chaque champs inscrit dans le fichier crontab.

Après quoi, vérifie cette commande en tapant :

cat /etc/crontab

et reboot ton SYNO.

A+ :hi:

Fred.

Posté(e)

Bonjour,

Effectivement je ne connais pas grand chose à Linux et encore moins à VI.

J'ai bien compris le message, Je commance ce soir ma convertion sous linux.(je suis sérieux)

Un grand merci pour ton travail, cela m'enlève une bonne épine du pied!

Ce script fonctionne comme sur des roulettes sur mon syno! :good:

Bonne continuation

:hi:

Greg.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.