Version complète: sur le forum Webmaster Hub : Faire un backup d'une DB SQL
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Gecko64
Bonjour et oui la question du jour avec Gecko64 tongue.gif
Voila en fait je voulais savoir comment je pourrais faire en PHP pour effectuer le backup d'une base de donnée? (Utilisation de phpmyadmin ou autre outil dans le genre m'est interdite je précise dry.gif)
Si il existe une fonction en PHP qui gère tout ca? unsure.gif
J'ai regardé sur le net mais on me propose des solutions assez bidouille ici: http://www.php-mysql-tutorial.com/perform-...-backup-php.php
Je dis bidouille pcq je n'aime pas la fonction systeme(); qui peut révéler des incompatibilités pour certaines commandes si on passe d'un serveur Linux a Windows.
Personnellement, je voulais savoir si il était possible de lancer un téléchargement de la base de données sans la stocker sur le disque dur du serveur?
Un peu comme certains forums font pour faire le backup smile.gif

Edit: je vais quand même apporter une petite précision, il est possible de faire ca sans la fonction systeme() ou exec()?
Je n'aime pas trop exécuter des commandes en locale ainsi en fait :-/
Enfin je vous demande pour avoir une idée de solution propre légère comme je sais qu'il y a pas mal de pro PHP ici et avec le moins de risque en matière de faille de sécu.

Merci d'avance smile.gif
Gecko64 (Marc)
TrocWeb
Bonjour,

cela peut être Ici

Cordialement

TrocWeb
Gecko64
Merci Trocweb mais comme je dois mettre ca dans mon travail de fin d'étude, je ne peux pas utiliser un outil tout pré fait.
J'ai trouvé des moyen de faire ca mais ils utilisent des fonctions système que j'essaie au minimum d'utiliser.
Donc en fait je pose ma question ici surtout pour savoir si quelqu'un n'a pas une idée ou moyen de procédé pratique et sécurisé pour effectuer cela.
En fait ca doit permettre a la personne pour qui je fais le site de pouvoir faire la sauvegarde de sa DB en un clic wink.gif
TrocWeb
a j'avais pas percuté sick.gif

sur les forums phpbb il y a un module qui permet de faire ça en 1 clic je crois, tu pourrait peut être t'en inspirer
K-Ola
Tu as un bon tuto ici , sans appel de system() , qui te génère un fichier .txt en sortie, reste à le compresser, faire télécharger le fichier et le supprimer à la fin du téléchargement.
Kioob
Délicate tâche que voila biggrin.gif

Si tu cherches un truc fiable et souple, l'idéal sera très certainement un script basé sur mysqldump... et donc de passer par system(), exec() et autres.
Si tu cherches un truc rapide, je n'ai pas trouvé mieux que mylvmbackup. Mais cela nécessite encore system()/exec() etc, mais aussi les droits root et un formatage LVM... bref coté portabilité c'est pas l'idéal.

Après pour du 100% PHP pour moi ce sera forcément de la bidouille, et mis a part comme projet d'étude l'intérêt me semble très très limité (d'autant plus qu'il y a déjà des solutions pour ça).

Dans tous les cas je ne passerais pas par Apache pour faire ça : le dump d'une database peut être très long, et ce n'est (à mon avis) pas via Apache que tu peux gérer ce genre de chose de manière fiable.
L'idéal serait alors que le script coté front déclenche un processus de dump en tache de fond, après tu joues éventuellement avec l'ajax pour afficher la progression, puis tu ne lances le téléchargement qu'une fois le dump terminé.

Bon courage wink.gif
Gecko64
Ok merci pour toutes ces informations smile.gif
Je vais m'inspirer de tout ca alors wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.