Restaurer les données de Dolibarr (mysql) avec un script .bat de Windows

numbers

Salut à tous,

J’ai récemment eu un souci avec une version personnalisée de Dolibarr. J’ai bidouillé l’interface de sauvegarde/restauration pour le client. Cependant quand le fichier de sauvegarde est trop lourd ( au delà de 15Mo) l’importation échoue des fois et le comble est que l’utilisateur n’a plus la main pour refaire l’importation.

J’avais le choix entre :

  • coder une interface en php basique pour charger le fichier de restauration (avec risque potentiel d’échec de l’importation encore mais au moins l’interface de restauration sera toujours accessible);
  • lui paramétrer PhpmyAdmin que je trouve trop lourd pour lui et encore une fois le risque d’erreur de chargement est toujours présent;
  • lui coder une petite interface avec Delphi ou autre outil du genre (l’envie m’a manqué :-))
  • ou lui écrire un fichier bat vite fait (solution retenue)

J’ai fouillé (“duckducké” pour être plus précis www.duckduckgo.com) un peu pour réviser les commandes et finalement j’ai le code commenté ci-dessous.

Les plus

  • Le script est rapide
  • Le script est adaptable à d’autres projets
  • Le script est maintenable
  • Le script peut offrir plus tard l’option de sauvegarde aussi

Les moins

  • le mot de passe d’accès à la base est visible
  • je n’ai pas trouver le moyen de mettre le chemin du fichier dans une variable

Ressources

https://windows.developpez.com/cours/ligne-commande

https://www.thesoftwareguy.in/backup-restore-mysql-database-windows-batch-file/

 


REM Desactive l’affichage des commandes
@echo off
REM Change le titre de la fenetre, sa taille et la couleur du texte
title Fichier de restauration
mode con cols=85 lines=100
color 00

echo =————–=
echo = Restauration =
echo =————–=

:DEBUT
REM Verifie si le fichier existe avant de continuer
echo.
if not exist D:\monprojet.sql echo Verifiez que le fichier de sauvegarde monprojet.sql est sur le D:\

echo.
REM Message d’annonce de debut de chargement
if exist D:\monprojet.sql echo Chargement du fichier de restauration en cours….
CHEMIN\VERS\mysql.exe -u monprojet -pPASSWORD test < D:\monprojet.sql
echo Fin de chargement du fichier de restauration
echo Verifier voir si le logiciel fonctionne normalement

REM L’utilisateur decide s’il faut reprendre, supprimer le fichier de sauvegarde ou quitter
echo.
set /p choix=Entrez -1 pour reprendre la restaration -2 pour supprimer le fichier de restauration -3 pour quitter:
if “%choix%” == “1” goto :DEBUT
if “%choix%” == “2” goto :SUPPRIME
if “%choix%” == “3” goto :QUITTER

:SUPPRIME
del D:\monprojet.sql

:QUITTER
echo.
echo Merci – Appuyer sur une touche pour quitter

REM Attend l’appui d’une touche pour voir les messages affichés
pause > nul

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s