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

Scripts/Batch Discussion :

Sauvegarde d'une base en .bat [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Sauvegarde d'une base en .bat
    Bonjour,

    Dans le cadre de mon stage j'ai installer GLPI et OCS, (avec xampp) sous windows server 2003 et donc j'aimerais sauvegarder ma base de donnée mysql quotidiennement. (enfin les bases ocsweb et inventory => OCS et GLPI)

    J'ai donc fais ce petit script en .bat

    CD C:\xampp\mysql\bin
    mysqldump --user=root --password=****** --all-databases > "E:\save_glpi\%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%h%time:~3,2%.sql"


    Jusque la tout fonctionne sauf que je n'arrive pas à sélectionner uniquement les 2 bases de données qui m'intéressent (à la place de --all databases).

    J'ai essayé --database ocsweb et --ocsweb mais sa ne marche pas et je n'ai trouvé nul part de solution.

    De plus vu que je répertorie beaucoup de chose dans ma base, j'aimerais les compresser, j'ai donc ajouter cela à mon code :

    rar a -m5 "mode.rar" "E:\save_glpi\%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%h%time:~3,2%.sql"
    move /y "%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%h%time:~3,2%.rar" "E:\save_glpi"


    Mais sa ne marche pas et c'est la seule chose qui se rapporte à la compression que j'ai trouvé, après j'ai peut-être mal cherché.

    Voila si quelqu'un à un peu de temps à me consacrer pour me conseiller, je vous remercie d'avance !

  2. #2
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    bonjour,

    Pour le dump:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump --user=root --password=****** --databases DB1 DB2 > "E:\save_glpi\%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%h%time:~3,2%.sql"
    Pour la compression:
    Quel est le message d'erreur ? Il faut evidement que l'exécutable doit dans ta variable PATH, sinon mettre le chemin absolu de l'exécutable ou le rajouter dans la variable PATH...

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour et merci de votre réponse.

    Pour le dump cela fonctionne bien (je trouve quand même bizarre que --database DB1 ne marche pas et que --databases DB1 DB2 marche... enfin bref )

    Pour la compression en fait le code que j'ai sert à la base à compressez un dossier en rar via un .bat

    Moi j'aimerais que le .sql que je crée soit direct en .rar
    Avec le code que j'ai il n'y a pas d'erreur mais il sauvegarde la base en .sql et non en .rar.

    Ps : oui le rar est bien dans le path, mais je me doute que m'on code n'est pas adéquat.





    Peut-être que je dois d'abord faire une sauvegarde .sql la copié en la compressant et ensuite supprimé la première, mais c'est un peu tiré par les cheveux.

    Merci d'avance

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    As-tu essayé l'option dans la commande mysqldump ?

    Sinon tu télécharges gzip, tu le rajoutes au PATH, et la tu peux faire un pipe pour qu'il soit directement compressé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump --user=root --password=****** --databases DB1 DB2  | gzip>E:\save_glpi\%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%h%time:~3,2%.sql.gz
    Voilà...

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton bout de code.

    Je met la réponse que j'ai faite si cela peut aider certain.

    Code : 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
    @ echo off
    rem setlocal fait en sorte que les variables créées dans ce script seront désallouées à la fin du script. ça évite de mettre la drouille dans les autres scripts
    setlocal
    
    
    
    rem Ce batch a pour but de sauvegarder des bases mysql en effectuant un dump
    
    rem Mettre ici le répertoire du programe mysqldump.exe
    set chemin_mysql=C:\xampp\mysql\bin
    rem
    rem Mettre ici le répertoire où l'on veut stocker les fichiers dump
    set destination=E:\save_glpi\test
    
    rem On lance la sauvegarde avec les paramètres
    %chemin_mysql%\mysqldump -h localhost --user=root --password= --databases ocsweb inventory > %destination%\datejour.sql
    
    
    
    rem compression en .zip du fichier créé
    cd C:\Program Files\7-Zip
    7z a datejour.zip %destination%\datejour.sql
    
    
    
    rem déplacement et renommage du fichier
    
    rem on met la date formatée comme on le souhaite dans une variable datejour
    set datejour=%date:~6,4%-%date:~3,2%-%date:~0,2%.zip
    
    rem on "deplace" le fichier d'origine vers le fichier avec le bon nom
    move "C:\Program Files\7-Zip\datejour.zip" "E:\save_glpi\test\%datejour%"
    
    rem on supprime le fichier.sql pour ne pas avoir la sauvegarde en double
    del E:\save_glpi\test\*.sql

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/01/2008, 08h42
  2. Sauvegarde d'une base de données
    Par dcollart dans le forum Informix
    Réponses: 8
    Dernier message: 28/05/2006, 00h23
  3. [access] sauvegarde d'une base
    Par le_sonic dans le forum Access
    Réponses: 4
    Dernier message: 20/03/2006, 18h45
  4. Réponses: 3
    Dernier message: 09/09/2004, 11h31
  5. sauvegarde d'une base ailleurs qu'en local
    Par jbat dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 13/01/2004, 11h25

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