portier Vision ne comporte aucune fonction de sauvegarde que vous puissiez lancer depuis le programme. Si votre base tourne sur Firebird, le script batch ci-dessous la sauvegarde chaque nuit en arrière-plan.
Si votre base tourne sur Microsoft SQL Server, ce script ne vous sera d'aucune aide. gbak.exe ne sauvegarde que Firebird. Votre SQL Server se sauvegarde avec ses propres outils, en général un plan de maintenance ou un travail de l'Agent SQL Server. portier ne fournit rien pour cela, cela relève de l'administration de votre serveur de bases de données.
Firebird est installé et gbak.exe se trouve dans le dossier Firebird.
Vous disposez des droits d'écriture sur le dossier de sauvegarde.
Vous connaissez le mot de passe SYSDBA de votre installation Firebird.
Le Planificateur de tâches Windows est disponible.
Si la base se trouve sur un serveur, installez le script et la tâche sur ce serveur, pas sur un poste de travail.
Ne devinez pas ce chemin. Il figure dans portier Vision Companion.
Ouvrez le Companion. Sur l'écran de connexion, Ouvrir le configurateur de base de données y mène directement. Une fois connecté, passez par l'onglet Configuration de la base de données.
Le champ Type de base de données indique Firebird.
Relevez la valeur du champ Chemin de la base de données. Elle ira dans la ligne DBPATH.
Si Hôte n'indique pas localhost, la base se trouve sur une autre machine. Installez la sauvegarde sur celle-ci.

La valeur du champ Chemin de la base de données se reporte dans la ligne DBPATH du script.
Enregistrez le texte ci-dessous sous C:\portier\backup\portier_backup.bat. Retenez ce chemin exactement. La tâche planifiée devra pointer vers ce même fichier.
@echo off
setlocal EnableExtensions EnableDelayedExpansion
:: ================== Settings ==================
set "FBPATH=C:\Program Files (x86)\Firebird\Firebird_4_0\gbak.exe"
set "DBPATH=C:\portier\vision5\PORTIERVISION.GDB"
set "BKPATH=C:\portier\backup"
set "USER=SYSDBA"
set "PASS=VOTRE_MOT_DE_PASSE_SYSDBA"
set "RETENTION_DAYS_BACKUPS=14"
set "RETENTION_DAYS_LOGS=30"
:: ==============================================
:: --- Pre-checks & create folder ---
if not exist "%BKPATH%" mkdir "%BKPATH%" 2>nul
if not exist "%BKPATH%" exit /b 2
if not exist "%DBPATH%" exit /b 3
if not exist "%FBPATH%" exit /b 4
:: --- Timestamp for unique filenames ---
for /f %%i in ('powershell -NoProfile -Command "(Get-Date).ToString(\"yyyy-MM-dd_HH-mm-ss\")"') do set "STAMP=%%i"
set "BKFILE=%BKPATH%\portier_%STAMP%.fbk"
set "LOGFILE=%BKPATH%\backup_log_%STAMP%.txt"
(
echo ==================================================
echo Backup started: %DATE% %TIME%
echo gbak : "%FBPATH%"
echo DB : "%DBPATH%"
echo Target: "%BKFILE%"
echo ==================================================
) >> "%LOGFILE%"
:: --- Execute backup silently ---
"%FBPATH%" -b -v -user %USER% -pas %PASS% "%DBPATH%" "%BKFILE%" >> "%LOGFILE%" 2>&1
set "RC=%ERRORLEVEL%"
if "%RC%"=="0" (
echo [%DATE% %TIME%] Backup OK >> "%LOGFILE%"
) else (
echo [%DATE% %TIME%] ERROR, Code %RC% >> "%LOGFILE%"
)
:: --- Cleanup old backups ---
echo. >> "%LOGFILE%"
echo [%DATE% %TIME%] Cleaning: *.fbk older than %RETENTION_DAYS_BACKUPS% days >> "%LOGFILE%"
forfiles /p "%BKPATH%" /m *.fbk /d -%RETENTION_DAYS_BACKUPS% /c "cmd /c del /q /f @path" 2>> "%LOGFILE%"
:: --- Cleanup old logs ---
echo [%DATE% %TIME%] Cleaning: Logs older than %RETENTION_DAYS_LOGS% days >> "%LOGFILE%"
forfiles /p "%BKPATH%" /m backup_log_*.txt /d -%RETENTION_DAYS_LOGS% /c "cmd /c del /q /f @path" 2>> "%LOGFILE%"
echo ================================================== >> "%LOGFILE%"
echo Backup completed. >> "%LOGFILE%"
endlocal & exit /b %RC%Seul le bloc du haut change.
FBPATH : chemin vers gbak.exe. Vérifiez-le dans l'explorateur, le nom du dossier Firebird change selon la version.
DBPATH : la valeur relevée dans Chemin de la base de données, étape 1.
BKPATH : dossier des sauvegardes et des journaux.
PASS : votre mot de passe SYSDBA.
RETENTION_DAYS_BACKUPS et RETENTION_DAYS_LOGS : durée de conservation en jours.
À propos du mot de passe. masterkey est le mot de passe par défaut de toute installation Firebird neuve. S'il est encore en place chez vous, changez-le avant d'aller plus loin. Le mot de passe figure en clair dans ce fichier, restreignez donc les droits sur C:\portier\backup au compte qui exécute la tâche.
Lancez le fichier par un double clic. Aucune fenêtre ne s'ouvre. Regardez ensuite dans C:\portier\backup. Deux nouveaux fichiers doivent s'y trouver, un .fbk et un journal. S'ils manquent, consultez les codes de retour plus bas.
Ouvrez le Planificateur de tâches (taskschd.msc).
Choisissez Créer une tâche.
Sous Général : nom portier Firebird Backup, cochez Exécuter avec les autorisations maximales et Exécuter même si l'utilisateur n'est pas connecté.
Sous Déclencheurs : nouveau, quotidien, 02h00.
Sous Actions : démarrer un programme, C:\portier\backup\portier_backup.bat. Caractère pour caractère le même chemin qu'à l'étape 2.
Enregistrez, puis clic droit sur la tâche et Exécuter.
Une faute de frappe à l'étape 5 passe inaperçue. Si la tâche pointe vers un fichier qui n'existe pas, elle démarre à l'heure prévue, ne fait rien et n'affiche aucun message. Aucune sauvegarde n'est écrite, aucun journal non plus, puisque le script ne s'exécute jamais. Le seul indice se trouve dans la colonne Résultat de la dernière exécution. Le lendemain matin du premier passage planifié, vérifiez donc que le dossier de sauvegarde contient bien un .fbk daté du jour.
Une sauvegarde jamais restaurée reste une supposition. Testez une fois après l'installation, puis une à deux fois par an.
"C:\Program Files (x86)\Firebird\Firebird_4_0\gbak.exe" -c -user SYSDBA -pas VOTRE_MOT_DE_PASSE_SYSDBA "C:\portier\backup\portier_2026-08-28_02-00-01.fbk" "C:\portier\backup\verification.fdb"Prenez le .fbk le plus récent du dossier de sauvegarde.
-c crée une nouvelle base. La cible est un fichier de test. Ne pointez jamais vers PORTIERVISION.GDB.
La commande doit se terminer sans erreur et verification.fdb doit avoir à peu près la taille de votre base en production.
Supprimez verification.fdb ensuite.
Si la commande échoue, votre sauvegarde est inutilisable. Réglez ce point avant d'en avoir besoin.
Valeur | Signification |
|---|---|
0 | Sauvegarde réussie |
2 | Le dossier de sauvegarde n'a pas pu être créé, vérifiez BKPATH |
3 | Base de données introuvable, vérifiez DBPATH |
4 | gbak.exe introuvable, vérifiez FBPATH |
autre valeur | Code de retour de gbak.exe, le détail figure dans le journal |
Chaque passage écrit son propre journal horodaté. Un passage réussi ressemble à ceci :
==================================================
Backup started: 13.10.2025 07:00:01
gbak : "C:\Program Files (x86)\Firebird\Firebird_4_0\gbak.exe"
DB : "C:\portier\vision5\PORTIERVISION.GDB"
Target: "C:\portier\backup\portier_2025-10-13_07-00-01.fbk"
==================================================
gbak: creating file C:\portier\backup\portier_2025-10-13_07-00-01.fbk
gbak: writing data...
gbak: finishing, closing, and going home
[13.10.2025 07:01:12] Backup OKIl ne sort rien de la machine. Une sauvegarde posée sur le même disque que la base disparaît avec le disque. Copiez le .fbk sur un second support.
Il ne sauvegarde pas Microsoft SQL Server.
Il ne dit pas qui remarquera demain matin que la sauvegarde n'a pas eu lieu.
Un dernier point. Ne copiez jamais PORTIERVISION.GDB avec l'explorateur pendant que la base tourne, la copie est inutilisable. gbak a le droit de sauvegarder en pleine exploitation, Vision peut rester ouvert.