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

InterBase Discussion :

Fichier bat de sauvegarde de base


Sujet :

InterBase

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut Fichier bat de sauvegarde de base
    Bonjour à tou(te)s

    Je coince sur l'écriture d'un fichier bat pour automatiser le backup d'une base Interbase XE7.

    Voilà le contenu de mon batch:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @ECHO OFF
     
    SET GBAKEXE=C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBase2017\bin\gbak.exe
    SET DATABASE=monposte:/MABASE.IB
    SET OPTIONS=-b -t 
    SET TARGET=G:\Bases\Bases Interbase\Backup\backupbase.ibk
    SET USER=SYSDBA
    SET PASSWORD=masterkey
     
    @ECHO ON
    "%GBAKEXE%" %OPTIONS% -user %USER% -password %PASSWORD% "%DATABASE%" "%TARGET%"
    mais la réponse est:

    gbak: ERROR: Unable to complete network request to host "monposte".
    gbak: ERROR: Failed to locate host machine.
    gbak: ERROR: The specified name was not found in the hosts file or Domain Name Services.
    J'ai essayé de mettre dans DATABASE le nom du fichier seul ou avec son chemin d'accès, mais rien n'y fait.
    J'ai remplacé monposte par le nom du server que je vois dans IBConsole, mais ça ne fonctionne pas non plus.
    Si je mets localhost, non plus.

    Quelle serait la bonne syntaxe pour que obtenir le backup attendu ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 991
    Points : 27 958
    Points
    27 958
    Billets dans le blog
    27
    Par défaut
    Bonjour,

    Je te réponds par mon batch sur le serveur (lire : serveur firebird soit le poste qui héberge la base de données firebird), peut-être moins variables locales mais qui fonctionne depuis des années. Interbase 5 au départ d'où les nombreux commentaires, à l'époque pas de sauvegarde à chaud forcer le shutdown était plus sûr, de même j'ai appris bien plus tard que le GBAK faisait un sweep (du moins était-ce la cas avec IB 6.5)

    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
     
    CD C:\
    CD "C:\Program Files (x86)\Firebird\Firebird_2_5\bin"
    C:
    rem gfix -user SYSDBA -password masterkey "D:\Fichiers\Base.fdb" -shut -force 0
    gbak.exe -v -t -user SYSDBA -password masterkey "D:\Fichiers\Base.fdb" "D:\Fichiers\base.fbk"
    rem gfix -user SYSDBA -password masterkey "D:\Fichiers\Base.fdb" -sweep
    rem gfix -user SYSDBA -password masterkey "D:\Fichiers\Base.fdb" -online full
     
    CD D:\
    CD D:\LALET\PROGRAMMES
    D:
    7ZA.exe a -tzip D:\Coffre\base.zip D:\fichiers\base.fbk
    CD C:\
    C:
    Tu remarqueras que les noms de fichiers sont entre guillemets, avec Firebird il y a les alias qui permettrait de se passer du chemin complet
    gbak.exe -v -t -user SYSDBA -password masterkey base "D:\Fichiers\base.fbk"
    c'est un peu pour cela que j'ai fait une distinction, mais, c'est vieux, je crois que pour des chemins complets les guillemets sont nécessaires

    Maintenant je me pose une question
    SET DATABASE=monposte:/MABASE.IB
    cela voudrait dire que le "serveur" interbase est sur un autre poste ? Auquel cas, du moins avec Firebird, cela ne fonctionne pas de cette manière il faut utiliser le service. J'avoue il faut que je me remémore comment
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    Alors déjà, merci pour le réponse aussi rapide.

    Pour la base elle est bien en local mais je ne savais pas quoi renseigner comme nom en suivant les exemples du wiki

    http://docwiki.embarcadero.com/Inter...store_examples

    Si mes mes souvenirs de batch sont bons, le rem en début de ligne met en commentaire ce qui suit et n'est donc pas exécuté.
    C'est bizarre mais j'étais persuadé d'avoir fait le test en n'utilisant que les noms de fichiers et que ça ne fonctionnait pas.
    Je vais comparer la syntaxe de mon fichier avec le tien et où est mon erreur.

    Je reviens pour donner des nouvelles d'ici un moment.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 991
    Points : 27 958
    Points
    27 958
    Billets dans le blog
    27
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    Si mes souvenirs de batch sont bons, le rem en début de ligne met en commentaire ce qui suit et n'est donc pas exécuté.
    c'est ça, pas d'Alzheimer à l'horizon enfin si tu ajoutes le prénom de ce docteur (de mémoire pas de triche )

    PS. Le lien que tu as mis indique comment faire avec le service, il faudra que je vérifie qu'avec Firebird c'est le même principe
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    c'est pas un truc du genre aloysius ??

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 991
    Points : 27 958
    Points
    27 958
    Billets dans le blog
    27
    Par défaut
    Bon pas de problème de ce côté alors tout dépend de la prononciation Alois
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    Comme disait l'arbitre d'intervilles : "Papy: one point"

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    Eh ben il en veut pas. :-(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    "C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBase2017\bin\gbak.exe" -b -t  -user SYSDBA -password masterkey "G:\Bases\client\sept_2019\BASE.IB" G:\Bases\Backup\BASE.IBK"
    gbak: ERROR: unavailable database
    Peut-être que la version pour Interbase ne fonctionne pas comme celle de Firebird ....

    Je vais essayer en utilisant le service.

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 991
    Points : 27 958
    Points
    27 958
    Billets dans le blog
    27
    Par défaut
    euh, quelques gillemets me semblent en trop ou en moins. Une paire de lunettes papy ?
    Code dos : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBase2017\bin\gbak.exe" -b -t  -user SYSDBA -password masterkey "G:\Bases\client\sept_2019\BASE.IB" "G:\Bases\Backup\BASE.IBK"
    Bon cela étant il y a peut-être une différence en Firebird et Interbase sur le GBAK mais je doute
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  10. #10
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    Effectivement, j'avais bien oublié un " mais la réponse est toujours la même.

    gbak: ERROR: unavailable database

    J'ai réussi à le faire avec le service.
    Si ça peut aider quelqu'un, voilà le script:

    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
     
    SET PORT=3054
    SET GBAKEXE=C:\Program Files (x86)\Embarcadero\Studio\20.0\InterBase2017\bin\gbak.exe
    SET OPTIONS=-b -t -se localhost/%PORT%:service_mgr
    SET USER=SYSDBA
    SET PASSWORD=masterkey
    SET FOLDER_SOURCE=G:\Bases\sept_2019
    SET FOLDER_BACKUP=G:\Bases\Backup
     
    for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set MADATE=%%c%%b%%a
    SET HOUR=%time:~0,2%
    SET MIN=%time:~3,2%
    SET DATABASE=%FOLDER_SOURCE%\MABASE.IB
    SET TARGET=%FOLDER_BACKUP%\%maDate%-%HOUR%-%MIN%-MABASE.IBK
    "%GBAKEXE%" %OPTIONS% -user %USER% -password %PASSWORD% "%DATABASE%" "%TARGET%"
    Rendons à César ce qui est à César: La fonction pour obtenir la date sans les séparateurs et quelle que soit la langue de l'OS, je l'ai trouvée sur un site de tutoriel sur les batch. :-)

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 991
    Points : 27 958
    Points
    27 958
    Billets dans le blog
    27
    Par défaut
    Ah, c'est peut-être bien dû au port ! par défaut gbak, historiquement du moins, utilise le 3050
    le fait que ton serveur Interbase soit sur 3054 ça doit être le grain de sable pour peu que Firebird soit installé en 3050 une histoire de service (gds_db) en double ne serait pas un autre grain

    [Edit] le fait que tu mettes des dates dans tes noms de sauvegarde me fait penser à d'autres choses.
    J'ai aussi écrit un programme avec Firedac pour faire des sauvegardes journalières (par gbak) mais aussi horaire (nbackup)
    Il fonctionne pour Firebird, jamais testé pour interbase mais , AMHA y a pas de raison
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  12. #12
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 887
    Points : 2 639
    Points
    2 639
    Par défaut
    pour le port, j'ai un peu galéré pour savoir comment le renseigner mais ça a fini par passer.

    Peut-être que l'option sans le serveur a aussi une possibilité de renseigner la port mais là, ça m'a mis à la bourre et je ne vais plus avoir le temps d'alelr plus loin

    Merci pour ton aide

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

Discussions similaires

  1. FICHIER .BAT POUR SAUVEGARDE DE BASE DE DONNEES
    Par ableur dans le forum Windows
    Réponses: 7
    Dernier message: 16/03/2015, 17h04
  2. Réponses: 4
    Dernier message: 14/01/2008, 09h42
  3. [Oracle 9i] fichier bat pour alimentation de la base
    Par cilies38 dans le forum Oracle
    Réponses: 4
    Dernier message: 28/02/2007, 13h54
  4. [MySQL] Sauvegarde de base de données dans un fichier
    Par navis84 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/04/2006, 12h41

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