Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script de Backup de DB vers Dropbox

Sujet résolu
    11 mars 2011 à 16:26:12

    Bonjour ou bonsoir,

    Voilà j'ai un problème le script que j'ai trouvé sur Grafikart ( http://www.grafikart.fr/tutoriels/uplo [...] r-dropbox-129 ), il ne fonctionne pas sur mon hébergeur OVH pourtant j'ai bien mis la tache planifié avec comme version de php 5.3 et les droits d'exécution sur le fichier.
    J'ai placé les deux fichiers dans un dossier "script" à la même hauteur que le dossier "www", le dossier "script" contient seulement le fichier ci-dessous et le fichier "DropboxUploader.php" qui a aussi les droits d'exécution.

    J'ai modifié un peu le script pour qu'il puisse se connecter à ma DB et à mon compte dropbox...
    Si quelqu'un serait me dire pourquoi sa cloche. o_O

    Je rappelle que c'est cron que j'utilise pour sauvegardé ma base de donnée vers mon compte Dropbox.


    Merci d'avance

    Code:
    <?php   
    require 'DropboxUploader.php';  
      
    function save_db($db_name){  
        protected $db_server,$db_user,$db_pass,$login_dBox,$pass_dBox;  
        $db_server='xxxx';  
        $db_user='xxxx';  
        $db_pass='xxxxx';  
        $login_dBox='xxxx@xxx';  
        $pass_dBox='xxxxx';  
      
        //création du fichier backup_filename avec son nom de DB+Date   
        $backup_filename = $db_name.'-'.date('d-m-Y').'gzip';  
          
        //execute la commande pour récupérer la base de donnée  
        $cmd = 'mysqldump -u '.$db_user.' -h '.$db_server. ' --password='.$db_pass.''.($db_name=="?'--all-databases' :$db_name";  
        passthru($cmd);  
      
        //on envoie sur Dropbox  
        $uploader = new DropboxUploader($login_dBox,$pass_dBox);  
        $uploader->upload($backup_filename,'/Site/Lx4.be/backup');  
          
        //On supprimme le fichier backup_filename  
        unlink($backup_filename);  
    }  
    save_db('xxxxx');  
    ?>
    


    Un grand merci
    • Partager sur Facebook
    • Partager sur Twitter
      11 mars 2011 à 17:53:51

      Si on avait le problème, ça aiderait sûrement. Et tu peux virer la ligne 5, je ne sais pas où tu es allé chercher cette grosse bêtise (pour rester poli).
      • Partager sur Facebook
      • Partager sur Twitter
        11 mars 2011 à 18:01:14

        Merci déjà pour la réponse,
        la ligne 5: je croyais que l'on pouvais faire sa car je viens du java et parfois j'ai encore quelque tic.

        Mais le problème en soit c'est que je planifie la tache avec OVH manager pour que le script s'exécute mais j'ai rien qui arrive sur mon dropbox...

        Donc je déduis que sa fonctionne pas mais j'ai malheureusement aucune piste d'erreur, aucun log.

        [EDIT]
        C'est la version corrigé sans les protected
        J'ai un log :

        -------------------------==  Début  ==-------------------------
        
        br /
        bDeprecated/b:  Directive &#39;register_globals&#39; is deprecated in PHP 5.3 and greater in bUnknown/b on line b0/bbr /
        br /
        bDeprecated/b:  Directive &#39;magic_quotes_gpc&#39; is deprecated in PHP 5.3 and greater in bUnknown/b on line b0/bbr /
        X-Powered-By: PHP/5.3.5
        Content-type: text/html
        
        br /
        bParse error/b:  syntax error, unexpected &#39;;&#39; in b/homez.406/xxxx/script/scriptDropbox.php/b on line b15/bbr /
        
        -------------------------==   Fin   ==-------------------------
        
        • Partager sur Facebook
        • Partager sur Twitter
          11 mars 2011 à 21:39:43

          Remplace <?php $cmd = 'mysqldump -u '.$db_user.' -h '.$db_server. ' --password='.$db_pass.''.($db_name=="?'--all-databases' :$db_name"; par <?php $cmd = 'mysqldump -u '. $db_user .' -h '. $db_server .' --password='. $db_pass .' '. ($db_name == null ? '--all-databases' : $db_name); et dis nous si ça marche. :)
          • Partager sur Facebook
          • Partager sur Twitter
            11 mars 2011 à 22:26:36

            C'est super cette fonctionnalité ! Elles sont où les sources ?
            Merci :)
            • Partager sur Facebook
            • Partager sur Twitter
              11 mars 2011 à 22:40:30

              Bonsoir et merci,

              alors j'ai fais les modifs et j'attends le log du server.

              Pour les sources --> http://jaka.kubje.org/projects/dropbox-uploader/ et je te conseille de regarder la vidéo de Grafikart (3min) ( http://www.grafikart.fr/tutoriels/uplo [...] r-dropbox-129 )
              • Partager sur Facebook
              • Partager sur Twitter
                11 mars 2011 à 22:58:17

                Il faut mettre quoi dans
                <?php $uploader->upload('path/to/a/file.txt');
                
                ?
                Merci !
                je te dirai si ça marche chez moi !
                • Partager sur Facebook
                • Partager sur Twitter
                  11 mars 2011 à 23:06:27

                  Tu dois mettre le chemin vers le quelle tu veux envoyer ton fichier dans ton dropbox par défaut sa l'envoie à la racine "/"

                  [EDIT]

                  Voilà j'ai reçu le log mais bizarrement j'ai rien dans mon dossier dropbox pourtant le dump fonctionne o_O

                  Message :
                  Numéro            : 40903
                  Heure de début    : 2011-03-11 23:24:01
                  Heure de fin      : 2011-03-11 23:24:02
                  Commande exécutée : /usr/local/bin/php.TEST.5 -c /usr/local/lib/php.ini /homez.406/xxxx/script/scriptDropbox.php
                  Code de retour    : 65280



                  Log:

                  -------------------------==  Début  ==-------------------------
                  
                  br /
                  bDeprecated/b:  Directive &#39;register_globals&#39; is deprecated in PHP 5.3 and greater in bUnknown/b on line b0/bbr /
                  br /
                  bDeprecated/b:  Directive &#39;magic_quotes_gpc&#39; is deprecated in PHP 5.3 and greater in bUnknown/b on line b0/bbr /
                  X-Powered-By: PHP/5.3.5
                  Content-type: text/html
                  
                  -- MySQL dump 10.11
                  --
                  -- Host: mysqlxx-xx.perso    Database: xxxxx
                  -- ------------------------------------------------------
                  -- Server version       5.1.49-3-log
                  
                  /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
                  /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
                  /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
                  /*!40101 SET NAMES utf8 */;
                  /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
                  /*!40103 SET TIME_ZONE=&#39;+00:00&#39; */;
                  /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
                  /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
                  /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=&#39;NO_AUTO_VALUE_ON_ZERO&#39; */;
                  /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
                  
                  --
                  -- Table structure for table `avion`
                  --
                  
                  DROP TABLE IF EXISTS `avion`;
                  CREATE TABLE `avion` (
                    `immatriculation` varchar(7) NOT NULL,
                    `nbPlaces` smallint(5) DEFAULT NULL,
                    `autonomie` smallint(4) DEFAULT NULL,
                    `paysImmatriculation` varchar(25) DEFAULT NULL,
                    `type` varchar(25) DEFAULT NULL,
                    PRIMARY KEY (`immatriculation`)
                  ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
                  
                  --
                  -- Dumping data for table `avion`
                  --


                  Je n'ai pas mis la suite car c'est juste le dump de ma table et que je n'ai droit qu'a x caractères dans le log

                  [RE EDIT]

                  J'ai modifié le code pour qu'il m'envoie un fichier test_hello.php et sa fonctionne :)

                  C'est déja pas mal donc le problème viens qu'il ne créé pas le fichier ou il met le dump de mysql, j'ai remarqué que j'avais oublié en "." ici -->.<--gzip donc je retest.


                  PROBLÈME RÉSOLU :D

                  <?php 
                  require 'DropboxUploader.php';
                  
                  function save_db($db_name){
                  	$db_server='xxxx';
                  	$db_user='xxx';
                  	$db_pass='xxxx';
                  	$login_dBox='xxxx';
                  	$pass_dBox='xxxx';
                  
                  	//création du fichier backup_filename avec son nom de DB+Date 
                  	$backup_filename = $db_name.'-'.date('d-m-Y').'.sql.gz';
                  	
                  	//execute la commande pour récupérer la base de donnée
                  	$command = "mysqldump -h$db_server -u$db_user -p$db_pass $db_name | gzip> $backup_filename";
                  	system($command);
                  
                  	//on envoie sur Dropbox
                  	$uploader = new DropboxUploader($login_dBox,$pass_dBox);
                  	$uploader->upload($backup_filename,'/Site/Lx4.be/backup');
                  	
                  	//On supprimme le fichier backup_filename
                  	unlink($backup_filename);
                  }
                  
                  save_db('xxxx');
                  
                  ?>
                  


                  Merci pour votre aide ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Script de Backup de DB vers Dropbox

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown