IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec script de sauvegarde


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Problème avec script de sauvegarde
    Bonjour,
    je déclenche 2 scripts à 1 heure d'intervalle.
    Le script 1 fonctionne bien, il me réalise la sauvegarde de ma base1 dans le dossier du script et me créer une sauvegarde dans année/jour
    Le script 2 se déclenche une heure pour tard pour une base 2. Il me crée bien la sauvegarde quotidienne dans le dossier du script mais pas dans le dossier année/jour
    Voici le script 1 et 2. il y a surement qques choses à modifier dans le script 2 pour qui mette aussi la sauvegarde dans année/jour

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
        // CONFIGURATION
     
        $host = "xxxxxxx.bdb";
        $user = "xxxxxxxxxx";
        $pass = "xxxxxxxxxxxx";
    	$db = "xxxxxxxxxxxxx";
        $path = getcwd().'/'; // Répertoire où seront sauvegardés les dump, ici le répertoire du script 
     
        // SCRIPT (ne rien modifier)
     
        if($_MYSQL = mysql_connect($host,$user,$pass)) {
     
            // Création des dossiers pour la sauvegarde quotidienne annee/jour
            if(!is_dir($path.date(Y).'/')) {
                mkdir($path.date(Y).'/'); // Si le dossier de l'annŽe n'existe pas, on le crŽe
                $result .= 'Création du dossier '.date(Y).' \n';
            }
     
            // Si le dossier du annee/jour n'existe pas, on le crée et on fait la sauvegarde quotidienne
            $d = $path.date(Y).'/'.date(z).'/'; 
            if(!is_dir($d)) {
                mkdir ($d, 0700);
                $daily = 1;
                $result .= 'CrŽation du dossier '.$path.$d.' \n';
            }
     
            //$databases = mysql_list_dbs($_MYSQL); // On liste les bases sur le serveur
     
           // while ($dbs = mysql_fetch_array($databases)) {
                $file = $path.$db.'.sql.gz';
                $command = "mysqldump --opt -h$host -u$user -p$pass $db | gzip > $file";
                system($command);
                $result .= $db.' sauvegardé';  
     
                if($daily == 1) { // On des fichiers dans le répertoire de la sauvegarde quotidienne
                    copy($file,$d.$db.'.sql.gz');
                    $result .= ' + quotidienne ';
                }
     
                $result .= ' \n';
          //  }
            mysql_close($_MYSQL);
        }
        else $result = "Connexion au serveur MySQL impossible";
     
        echo $result;
     
    ?>

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 811
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Ce script est-il de toi ? Parce que ça semble bizarre d'arriver en disant "j'ai écrit un script mais je ne comprends pas ce que j'y ai mis"...

    La copie du fichier dans le dossier "annee/jour" ne se fait que si "daily=1"
    Et daily n'est mis à 1 que lorsque le dossier est créé.

    Donc
    - 1er appel: le dossier n'existe pas donc il est créé et daily est mis à 1 et le fichier dump est copié dans annee/jour
    - 2° appel: le dossier existe donc il n'est pas créé et daily n'est pas mis à 1 et le fichier dump n'est pas copié dans annee/jour

    Accessoirement je ne comprends pas trop pourquoi le fichier dump n'est pas directement créé dans annee/jour et la raison de cette copie intermédiaire...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Problème avec script de sauvegarde
    Bonsoir,
    je n'ai pas écris ce script, je l'ai juste configuré pour sauver ma base de données.
    Le dump est copié dans le dossier du script d'abord puis dans année/jour parceque le dump du dossier script fait l'objet lui d'une sauvegarde externalisée.
    Si vous savez le faire par contre j'aimerai bien que vous m'arrangiez le script pour qui me copie le dump dans le dossier du jour déjà existant.
    Merci de votre aide.
    Laurent

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 811
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lolo81100 Voir le message
    Le dump est copié dans le dossier du script d'abord puis dans année/jour parceque le dump du dossier script fait l'objet lui d'une sauvegarde externalisée.
    Je comprends. Mais les liens sont justement fait pour dissocier "nom de fichier" et "contenu". Donc plutôt que de dupliquer le contenu, autant dupliquer juste le nom via un lien (je parle de lien réel et non de lien symbolique !!!)

    Citation Envoyé par lolo81100 Voir le message
    Si vous savez le faire par contre j'aimerai bien que vous m'arrangiez le script pour qui me copie le dump dans le dossier du jour déjà existant.
    Ben enlève ce test if ($daily == 1) ou remplace le par if ($daily == 1 || 1) ou sors le $daily=1 de son bloc "if()" !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut
    On vient de me donner la solution en remplaçant le if($daily == 1) par if(!file_exists($d.$db.'.sql.gz'))
    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec logiciel de sauvegarde TapeWare et fichier Mac
    Par boleduch dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 18/04/2008, 08h10
  2. [SQL] Probleme avec script de sauvegarde de BDD
    Par killbrice dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/06/2007, 00h48
  3. Réponses: 2
    Dernier message: 07/04/2007, 11h29
  4. [SQL] Problème avec script de pagination et requête sql sur deux tables
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h06
  5. [MS-DOS] Problème avec Script
    Par bliml dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 24/05/2005, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo