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 :

Back up en PHP


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut Back up en PHP
    Je suis en train de créer un outil de BACK UP des BDD via l'intranet, le back up est bien créée mais pour le nom du fichier je peux y ajouter que la date sinon ca fonctionne pas !
    Voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $Date = date("Y-m-d");
    $Heure = date("H:i");
    $date_heure =  $Date.'_'.$Heure;
    echo $date;
    La commande de création (le problème se site avant .sql, lorsque je mets Date (jour année mois) ca fonctionne, lorsque je mets date_heure ca crée un fichier mais pas sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $commande = "C:\MySQLServer\bin\mysqldump -h ".$_POST['ip_bdd_sauv']." -u root -p1234  ".$_POST['nom_bdd_sauv']." 1> ".$_POST['nom_bdd_sauv'].'_'. $date_heure.".sql";
    Merci

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Quelle forme a la valeur de la variable $date_heure ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    La forme de la variable est : 17-10-12_10:20 (elle s'affiche bien pourtant avec l'echo).
    Pour une BDD toto par exemple j'obtiens : toto_2012-10-17_10 (et ce n'est plus un fichier sql ...)

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    C'est peut-être le : qui gène dans le nom de fichier. Je ne connais pas la tolérance de Winbug à ce niveau.

    Tu peux donner un echo de $commande (en masquant l'IP et le mot de passe root si tu ne veux pas te faire attaquer ton serveur ! ) ?

    Au passage, tu devrais créer un utilisateur MySQL spécifique pour les sauvegardes qui n'aurait que les droits nécessaires pour faire des sauvegardes.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    L'utilisateur est déjà créée, la commande fonctionne en mettant uniquement date avec le nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2012-10-17_10:29C:\MySQLServer\bin\mysqldump -h @IP -u root -ppass toto 1> toto_2012-10-17_10:29.sql

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Pourquoi as-tu un 1 devant le signe > ?

    En dehors de ça et de mon doute sur l'acceptation du : dans le nom de fichier, la commande me semble correcte.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    C'est pour faire un back up, la commande fonctionne avec la date (j'ai bien le fichier SQL ...) donc je ne pourrai pas ajouter l'heure au nom du fichier ?

  8. #8
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Tu peux essayer de formater l'heure différemment :
    2012-10-17_10-56.sql devrait mieux passer et on comprend quand même qu'il s'agit de l'heure de sauvegarde.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Ok je vais essayer; J'aimerai aussi modifier directement le chemin de suavegarde (parce que là ca crée les fichiers .sql dans WWW) , c'est possible ?

  10. #10
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Il suffit d'indiquer le chemin avec le fichier mais je crois que sous Winbug il faut doubler ses saloperies de \ et la commande n'aimera pas les répertoires avec des espaces et autres caractères interprétables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Windows n'accepte pas le caractère ':' dans un nom de fichier, pour le chemin complet il te suffit de préciser le chemin voulu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:/chemin/voulu/sauvegarde/toto_2012-10-17_10_19.sql

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Merci!
    Je souhaiterai créer un utilisateur (qui correspond au serveur WEB pour réaliser les back up ...) qui puisse accéder à tous les serveurs SQL du réseau local (chaque poste client à une BDD MySQL), je voulais taper une commande d'attribution des droites (grant all ...) avec l'IP du poste client et le mots de passe du poste clients (remplir via formulaire) avant de réaliser le back up , Je me demande si c'est possible d'avoir un utilisateur root sur tous les PCs clients et de le recréer à chaque back up ?
    Merci;

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Au fait, pour l'instant j'ai un site intranet sur lequel on peut y faire un back up d'une BDD en renseignant le nom de la table, de l'utilisateur, le mots de passe et l'IP du serveur SQL du client (1 serveur SQL sur chaque postes clients et 1 sur le serveur WEB).
    Pour exécuter la commande dump depuis le serveur WEB je dois d'abord accéder au serveur SQL du PC client (je voulais créer un utilisateur avec l'IP du serveur WEB et lui attribuer tous les droits) par contre l'accès au serveur SQL est refusé ! Y a t il un moyen de permettre l'accès aux serveurs SQL des clients uniquement depuis le serveur SQL WEB ?(je voudrais éviter aux clients de manipuler au max, la commande back up fonctionnera ainsi ...)
    Merci;

  14. #14
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Tu ne devrais pas utiliser root pour les sauvegardes mais créer un utilisateur spécifique dans MySQL qui n'aurait que les droits nécessaires au dump (SELECT + LOCK TABLES) de la ou des BDD souhaitées.

    Si tu fais ça sur chaque serveur SQL avec le même utilisateur et le même mot de passe et que l'application qui lance le dump n'est située, et donc lancée, que sur une seule machine, tu peux avoir un programme unique pour faire tous tes dump.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Oui mais je ne veux pas créer d'utilisateur sur chaque PC (le root est une bonne solution car j'ai un onglet de création des BDD aussi).
    Si j'arriverai à me connecter j'aurai pu créer l'utilisateur root par la suite, mais j'ai un access denied ! Si c'est pas possible je mettrai une procédure pour que les clients créent un utilisateur ayant tous les droits pour le serveur WEB.

  16. #16
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Tu n'arrives pas à te connecter où ?
    Commence par régler ce problème d'accès.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  17. #17
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Au fait je voulais faire un test du site sur un poste client, donc je renseigne l'IP du poste client, le nom de l'utilisateur, mots de passe et le nom de la BDD.
    Apparament le serveur WEB MYSQL n'arrive pas à se connecter (renvoie d'erreurs Apache: ACCESS DENIED FOR USER ...) .
    Merci;

  18. #18
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Commence par identifier si c'est une erreur renvoyée par Apache ou par MySQL.
    Ça ressemble en tout cas à un message de refus de connexion de MySQL.

    Ce que tu n'as peut-être pas compris, c'est qu'un utilisateur MySQL est identifié par un 'nom_user'@'machine(s)_d_ou_il_se_connecte'.

    Si sur le serveur MySQL auquel tu essaies d'accéder, ton utilisateur n'est autorisé qu'à partir de localhost ou 127.0.0.1 (c'est pareil !), cet utilisateur ne pourra pas accéder à son MySQL depuis une autre machine.

    Exemple de création d'un utilisateur dédié au dump à partir de l'adresse IP 192.168.1.0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT, LOCK TABLES ON nom_bdd.* TO 'dump_user'@'192.168.1.0' IDENTIFIED BY 'mot_de_passe'
    Ensuite tu vas dans la BDD mysql et dans la table user tu verras comment est enregistré cet utilisateur.

    C'est pour ça que je recommandais de créer cet utilisateur sur toutes les machines auxquelles tu dois accéder à partir de la machine qui héberge ton application et qui serait, dans mon exemple, la machine d'adresse IP 192.168.1.0.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  19. #19
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Par défaut
    Ca avait l'air d'être un message généré par MySQL, le problème est qu'avant de tester cette commande il faut pouvoir accéder au serveur SQL !

  20. #20
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Ben vois ça avec l'administrateur du serveur !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. générateur de back office en php
    Par bozeclair dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 04/06/2009, 13h44
  2. [PHP-JS] call back php
    Par silver.spike dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2007, 16h36
  3. [PHP-JS] Interception du history:back
    Par sebos63 dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2006, 13h34
  4. [PHP-JS] Bouton back
    Par samjung dans le forum Langage
    Réponses: 4
    Dernier message: 25/01/2006, 14h28

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