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