[RESOLU] Pb avec script de sauvegarde

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Pb avec script de sauvegarde

Re: Pb avec script de sauvegarde

par lolo81 » 21 janv. 2012, 21:47

Je vais peut être abuser mais pouvez-vous aussi me regarder ce sujet là :
php-debutant/script-php-recherche-carac ... 62219.html
Merci. Laurent

Re: Pb avec script de sauvegarde

par lolo81 » 21 janv. 2012, 21:43

Je me bats depuis 2 jours avec ce script et vous m'avez sorti d'affaire ! Merci, mille merci.
Trop fort !
Laurent SARTORIO

Re: Pb avec script de sauvegarde

par Ryle » 21 janv. 2012, 21:25

C'est assez difficile de corriger un script quand on ne sait pas ce qu'il est sensé faire... à priori, j'aurais tendance à dure que tu peux remplacer le if($daily == 1) par if(!file_exists($d.$db.'.sql.gz'))

Du coup il copierait le fichier s'il n'existe pas déjà dans le répertoire...

Re: Pb avec script de sauvegarde

par lolo81 » 21 janv. 2012, 21:17

Malheureusement je ne suis pas développeur. J'ai besoin qu'on me change ce qui ne va pas car je ne sais pas.
Laurent

Re: Pb avec script de sauvegarde

par Ryle » 21 janv. 2012, 21:12

Ta copie est conditionnée par le fait que $daily soit égal à 1... le problème c'est que ton flag $daily = 1 n'est défini que lors de la création du dossier... donc forcément si le dossier existe déjà ton flag ne passe pas à 1 et la copie n'est pas faite... faut revoir ton algo :)

Re: Pb avec script de sauvegarde

par lolo81 » 21 janv. 2012, 21:00

Il n'y a pas d'erreur dans le log. En fait comme le dossier jour existe déjà, cela ne fait pas la copie du dump.
Je ne sais pas comment modifier script pour que la copie se fasse dans le dossier jour après l’exécution du premier script.
Laurent

Re: Pb avec script de sauvegarde

par xTG » 21 janv. 2012, 20:37

Si les scripts sont les mêmes et qu'ils sont dans le même dossier...
As-tu regardé dans le error_log pour voir s'il y avait quelque chose après l'exécution du second script ?

Pb avec script de sauvegarde

par lolo81 » 21 janv. 2012, 15:28

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 : Tout sélectionner

<?php // CONFIGURATION $host = "xxxxx.bdb"; $user = "xxxxxxbase"; $pass = "xxxxxxxxxx"; $db = "xxxxxxxxx"; $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&#233;'; 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; ?>