portier Vision bringt keine Sicherungsfunktion mit, die Sie im Programm starten können. Läuft Ihre Datenbank auf Firebird, sichert das folgende Batch-Skript sie jede Nacht im Hintergrund.
Läuft Ihre Datenbank auf Microsoft SQL Server, hilft dieses Skript nicht. gbak.exe sichert ausschließlich Firebird. Ihr SQL Server wird mit seinen eigenen Mitteln gesichert, üblicherweise über einen Wartungsplan oder einen Auftrag des SQL Server-Agenten. portier liefert dafür nichts mit, das gehört zur Betreuung Ihres Datenbankservers.
Firebird ist installiert, gbak.exe liegt im Firebird-Verzeichnis.
Sie haben Schreibrechte auf den Sicherungsordner.
Sie kennen das SYSDBA-Kennwort Ihrer Firebird-Installation.
Die Windows-Aufgabenplanung ist verfügbar.
Liegt die Datenbank auf einem Server, richten Sie Skript und Aufgabe auf dem Server ein, nicht auf einem Arbeitsplatzrechner.
Raten Sie den Pfad nicht. Er steht im portier Vision Companion.
Öffnen Sie den Companion. Auf dem Anmeldebildschirm führt Datenbank-Konfigurator öffnen direkt hin, nach der Anmeldung der Reiter Datenbankkonfiguration.
Unter Datenbanktyp steht Firebird.
Notieren Sie den Wert aus Datenbankpfad. Er gehört gleich in die Zeile DBPATH.
Steht unter Host nicht localhost, liegt die Datenbank auf einem anderen Rechner. Richten Sie die Sicherung dort ein.

Der Wert aus dem Feld Datenbankpfad gehört in die Zeile DBPATH des Skripts.
Speichern Sie den folgenden Text als C:\portier\backup\portier_backup.bat. Merken Sie sich diesen Pfad genau. Die geplante Aufgabe muss später auf dieselbe Datei zeigen.
@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=IHR_SYSDBA_KENNWORT"
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%Nur der Block oben wird geändert.
FBPATH: Pfad zu gbak.exe. Prüfen Sie ihn im Explorer, das Firebird-Verzeichnis heißt je nach Version anders.
DBPATH: der Wert aus Datenbankpfad, Schritt 1.
BKPATH: Ordner für Sicherungen und Protokolle.
PASS: Ihr SYSDBA-Kennwort.
RETENTION_DAYS_BACKUPS und RETENTION_DAYS_LOGS: Aufbewahrung in Tagen.
Zum Kennwort. masterkey ist das Standardkennwort jeder frischen Firebird-Installation. Steht es bei Ihnen noch, ändern Sie es, bevor Sie weitermachen. Das Kennwort liegt in dieser Datei im Klartext, also beschränken Sie die Zugriffsrechte auf C:\portier\backup auf das Konto, unter dem die Aufgabe läuft.
Starten Sie die Datei per Doppelklick. Es öffnet sich kein Fenster. Sehen Sie danach in C:\portier\backup nach. Dort müssen zwei neue Dateien liegen, eine .fbk und ein Protokoll. Fehlen sie, prüfen Sie die Rückgabewerte weiter unten.
Öffnen Sie die Aufgabenplanung (taskschd.msc).
Wählen Sie Aufgabe erstellen.
Unter Allgemein: Name portier Firebird Backup, dazu Mit höchsten Privilegien ausführen und Unabhängig von der Benutzeranmeldung ausführen.
Unter Trigger: Neu, täglich, 02:00 Uhr.
Unter Aktionen: Programm starten, C:\portier\backup\portier_backup.bat. Zeichen für Zeichen derselbe Pfad wie in Schritt 2.
Speichern, dann Rechtsklick auf die Aufgabe und Ausführen.
Ein Tippfehler in Schritt 5 bleibt unbemerkt. Zeigt die Aufgabe auf eine Datei, die es nicht gibt, startet sie zur eingestellten Zeit, tut nichts und meldet nichts auf dem Bildschirm. Es entsteht keine Sicherung und kein Protokoll, weil das Skript gar nicht läuft. Der einzige Hinweis steht in der Spalte Ergebnis der letzten Ausführung. Prüfen Sie deshalb am Morgen nach dem ersten geplanten Lauf, ob im Sicherungsordner eine .fbk mit dem Datum von heute liegt.
Eine Sicherung, die nie zurückgespielt wurde, ist eine Vermutung. Prüfen Sie einmal nach der Einrichtung, danach ein- bis zweimal im Jahr.
"C:\Program Files (x86)\Firebird\Firebird_4_0\gbak.exe" -c -user SYSDBA -pas IHR_SYSDBA_KENNWORT "C:\portier\backup\portier_2026-08-28_02-00-01.fbk" "C:\portier\backup\pruefung.fdb"Nehmen Sie die neueste .fbk aus dem Sicherungsordner.
-c legt eine neue Datenbank an. Das Ziel ist eine Testdatei. Zeigen Sie niemals auf PORTIERVISION.GDB.
Der Befehl muss ohne Fehlermeldung durchlaufen, und pruefung.fdb muss ungefähr so groß sein wie Ihre Live-Datenbank.
Löschen Sie pruefung.fdb danach.
Läuft der Befehl auf einen Fehler, ist Ihre Sicherung nicht brauchbar. Dann klären Sie das, bevor Sie sie brauchen.
Wert | Bedeutung |
|---|---|
0 | Sicherung erfolgreich |
2 | Sicherungsordner konnte nicht angelegt werden, BKPATH prüfen |
3 | Datenbank nicht gefunden, DBPATH prüfen |
4 | gbak.exe nicht gefunden, FBPATH prüfen |
anderer Wert | Rückgabewert von gbak.exe, Einzelheiten stehen im Protokoll |
Jeder Lauf schreibt ein eigenes Protokoll mit Zeitstempel. Ein erfolgreicher Lauf sieht so aus:
==================================================
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 OKEs bringt nichts aus dem Haus. Liegt die Sicherung auf derselben Platte wie die Datenbank, ist sie bei einem Hardwaredefekt mit weg. Kopieren Sie die .fbk zusätzlich auf ein anderes Medium.
Es sichert keinen Microsoft SQL Server.
Es ersetzt nicht die Frage, wer morgen früh merkt, dass die Sicherung ausgeblieben ist.
Ein letzter Hinweis. Kopieren Sie PORTIERVISION.GDB niemals im laufenden Betrieb mit dem Explorer, die Kopie ist unbrauchbar. gbak darf im laufenden Betrieb sichern, Vision kann geöffnet bleiben.