none
Script - Backup BDD PhpMyadmin RRS feed

  • Question

  • Bonjour,

    Je cherche à faire un script (qui sera lancer par une tâche plannifié) me permettant de sauvegardr ma BDD sur phpMyAdmin.

    Pour le moment, je bloqie sur le script, je cherche à utiliser "dump" intégré à MySQL :

    ::@echo off
    CD "D:\wamp64\bin\mysql\mysql5.7.26\bin"
    cmd /mysqldump --user=root --password=xxxxxxxxxx  --all-databases > "C:\Users\Administrator\Documents\BackupMediawiki"
    

    Et j'obtiens le résultat suivant (je lance depuis powershell):

    PS C:\Users\Administrator> CD "D:\wamp64\bin\mysql\mysql5.7.26\bin"
    PS D:\wamp64\bin\mysql\mysql5.7.26\bin> cmd /mysqldump --user=root --password=xxxxxxxxxxxxxx  --all-databases > "C:\Us
    ers\Administrator\Documents\BackupMediawiki"
    out-file : Access to the path 'C:\Users\Administrator\Documents\BackupMediawiki' is denied.
    At line:1 char:1
    + cmd /mysqldump --user=root --password=xxxxxxxxxxxxxx  --all-databas ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OpenError: (:) [Out-File], UnauthorizedAccessException
        + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

    A priori je n'ai pas les droit pour venir écrire dans mon dossier de destination.

    Je suis sûr un Windows serveur 2016 (il n'est rattaché à aucun domaine).

    J'utilise la version WAMP 3.1.9 64bit et la version 4.8.5 de phpMyadmin

    Pour ce qui est des droits sur le dossier de destination :

    Y'aurait-il un moyen de renseigner, directement dans mon script, le user + mdp de mon serveur pour avoir les droits d'écriture sur le dossier de desrination (si le problème viens de là) ?

    Merci.

    mardi 31 décembre 2019 09:58

Toutes les réponses

  • Bonjour, Essayez d'ouvrir CMD en tant que administrateur et exécuter votre script, sinon je vous propose d'utiliser ce script Powershell: https://www.msnoob.com/backup-mysql-database-using-powershell-script.html

    "Vote or mark as answer if you think useful" "Marquer comme réponse les réponses qui ont résolu votre problème"

    mardi 31 décembre 2019 15:20
  • Bonjour,

    Merci pour votre réponse.

    Alors, lorsque je lance mon script depuis CMD en admin, le résultat est le même "Acces is denied"

    J'ai essayé votre script, je n'ai aucune erreur mais je n'ai pas de fichier SQL dans mon repository (C:\Users\Administrator\Documents\BackupMediawiki).

    mardi 31 décembre 2019 15:42
  • Bonjour Toto.R

    tu l'as dit, ton pb est un pb de droits d'accès. Le compte que tu utilises pour exécuter le script doit avoir les droits d'écriture dans le path cible.

    d'autre part, passer les crédentials en clair dans un script est une très très mauvaise idée.

    Suggestion : 

    • Créer un compte de domaine (juste domain user ça suffira)
    • Dans MySql (voir avec phpMyAdmin) accorder à ce compte les droits d'effectuer un backup, rien de plus, rien de moins si possible.
    • Ajouter ledit compte dans le groupe administrator local de ta machine.
    • Planifier le script pour être exécuté avec ledit compte.

    Pour tester auparavant : lancer un powershell en runAs le compte en question.

    en pratique, tu lances un powershell et tu fais : Start-Process powershell -credential Get-Credential

    tu saisies le compte que tu veux utiliser, et tu testes ton script.

    cordialement

    Olivier

    mardi 31 décembre 2019 19:38
  • Bonjour,

    Merci pour votre réponse.

    Alors, lorsque je lance mon script depuis CMD en admin, le résultat est le même "Acces is denied"

    J'ai essayé votre script, je n'ai aucune erreur mais je n'ai pas de fichier SQL dans mon repository (C:\Users\Administrator\Documents\BackupMediawiki).

    Vérifier que vous avez les droits nécessaires d'écriture sur ce dossier.

    Pouvez-vous changer l'emplacement cible de backup par exemple volume D:\Backup.


    "Vote or mark as answer if you think useful" "Marquer comme réponse les réponses qui ont résolu votre problème"


    • Modifié F.ABASSI jeudi 2 janvier 2020 09:44
    jeudi 2 janvier 2020 09:43