mysqldump via PHP -> fichier vide !

mysqldump via PHP -> fichier vide ! - PHP - Programmation

Marsh Posté le 26-07-2008 à 14:33:43    

Bonjour à tous !
 
Je cherche à automatiser la sauvegarde quotidienne d'une BDD via un fichier PHP qui sera appelé par une tâche cron.
Bien que ce thème ait déjà été abordé quelques fois dans d'autres sujets, ces dernier n'ont pas résolu mon problème : mon fichier dump.sql reste désespérément vide :-/
 
J'ai testé par ailleurs les méthodes d'OVH (http://guide.ovh.com/BackupBaseMySQL) du site du zéro (http://www.siteduzero.com/tuto-3-292-1-faire-une-sauvegarde-de-sa-base-de-donnees-mysql.html) sans succès.
 
Voici le code de mon fichier backup_bdd.php
 

Code :
  1. <?php
  2. $host = "localhost";
  3. $user = "root";
  4. $pass = "";
  5. $db = test;
  6. $date = date("Ymd-H\hi" );
  7. $backup = $date."_".$db.".sql";
  8. $command = "mysqldump --host=$host --user=$user --password=$pass $db > $backup";
  9. echo "Votre base est en cours de sauvegarde.......";
  10. system($command);
  11. echo "C'est fini. Vous pouvez récupérer la base par FTP";
  12. ?>


 
Pour l'instant, je teste en local, d'où le login=root et l'absence de mot de passe.
 
A vot' bon coeur m'sieur dames ;-)


Message édité par guibo le 26-07-2008 à 14:35:40
Reply

Marsh Posté le 26-07-2008 à 14:33:43   

Reply

Marsh Posté le 26-07-2008 à 21:33:40    

Ca marche en local, merci Fred !
 
C'était effectivement une question de chemin pour mysqldump.
J'avais essayé d'entrer le chemin complet, mais comme tu l'as dit, "program files" posait problème avec son espace.
 
Dans mon cas, ça roule avec :

Code :
  1. C:\PROGRA~1\wamp\bin\mysql\mysql5.0.51b\bin\mysqldump --host=localhost --user=root --password= test > $backup


 
Je m'empresse de tester ça en ligne sur mon serveur :-)


Message édité par guibo le 26-07-2008 à 21:45:40
Reply

Marsh Posté le 26-07-2008 à 23:13:18    

Bon, en ligne ça ne fonctionne pas mais ça doit également venir du chemin de mysqldump. Mon hébergeur devrait pouvoir me renseigner lundi.
 
En revanche, j'essaie de compresser le fichier dump.sql en dump.sql.gz et ça ne donne aucun résultat.
 
J'ai essayé plusieures méthodes :

Code :
  1. system("gzip backup/".$nombase.".sql" );


Code :
  1. C:\PROGRA~1\wamp\bin\mysql\mysql5.0.51b\bin\mysqldump --host=localhost --user=root --password= test > $backup gzip $backup


Code :
  1. C:\PROGRA~1\wamp\bin\mysql\mysql5.0.51b\bin\mysqldump --host=localhost --user=root --password= test | gzip > $backup


 
C'est aussi un problème de path pour la fonction gzip ? J'ai cherché dans tout mon répertoire "wamp" et n'ai rien trouvé.
 
Je n'ai pas de chance ou bien je suis un bras cassé ?


Message édité par guibo le 27-07-2008 à 00:00:26
Reply

Marsh Posté le 27-07-2008 à 19:25:52    

@Fred82
Merci encore !  
Tout fonctionne bien avec

Code :
  1. system("C:\PROGRA~1\GnuWin32\bin\gzip $backup" );


Les deux autres variantes avec le gzip dans la même commande system() ne donnent rien.
 
@NazzTazz
Sympa ton script. Pour l'instant, j'ai besoin de dump quotidien, mais je ne manquerai pas de l'utiliser par la suite :-)


Message édité par guibo le 27-07-2008 à 19:26:26
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed