Datenbank-Backups automatisieren

Sie können die Aktion Datenbanksicherungskopie erstellen in den Aufgabenplaner des Serverrechners einbinden. Damit können Sie sicherstellen, dass diese Aktion automatisch z.B. einmal täglich ausgeführt wird.

Gehen Sie dafür bitte folgendermaßen vor:

Erstellen Sie mit einem Texteditor eine neue Datei mit der Dateiendung .ps1 (also z.B. backup.ps1) und kopieren Sie das nachfolgende Powershell-Skript hinein (Pfade und Kennwörter müssen natürlich angepasst werden):
# ----------------------
# Firebird Backup Script
# ----------------------

# Pfade definieren
$PathToGBAK   = "C:\Program Files (x86)\Firebird\Firebird_4\bin\gbak.exe"
$DatabaseFile = "C:\Users\Public\Documents\Stueber Systems\Magellan 12\Datenbank\MAGELLAN12.FDB"

# Datum im Format yyyy-MM-dd erzeugen
$DateStamp = Get-Date -Format "yyyy-MM-dd"

$BackupFile = "C:\Users\Public\Documents\Stueber Systems\Magellan 12\Datenbank\Backup\MAGELLAN12_$DateStamp.FBK"
$LogFile    = "C:\Users\Public\Documents\Stueber Systems\Magellan 12\Datenbank\Backup\MAGELLAN12_$DateStamp.log"

Write-Host "Starte Firebird Backup..."
Write-Host "Datenbank : $DatabaseFile"
Write-Host "Backup    : $BackupFile"
Write-Host "Log       : $LogFile"
Write-Host ""

# Backup ausführen
& $PathToGBAK `
   -v `
   -t `
   -user SYSDBA `
   -password qwertz `
   -y $LogFile `
   $DatabaseFile `
   $BackupFile

Write-Host ""
Write-Host "Backup abgeschlossen."
Pause
Speichern Sie diese Datei auf dem Server, wo Firebird läuft. 

Öffnen Sie die PowerShell-Konsole und starten Sie zum Testen das PowerShell-Skript manuell:
./backup.ps1
Hat es funktioniert? Dann richten Sie im Windows-Aufgabenplaner eine neue Aufgabe ein, die täglich zu einer bestimmten Zeit diese Datei ausführt.

Für PowerShell 7 bekommt die Aufgabe folgende Eigenschaften:
  • Programm/Skript: C:\Program Files\PowerShell\7\pwsh.exe
  • Argumente hinzufügen:  -ExecutionPolicy Bypass -NoProfile -File "C:\Scripts\backup.ps1"
Für Microsoft PowerShell 5.1 bekommt die Aufgabe folgende Eigenschaften:
  • Programm/Skript:  C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • Argumente hinzufügen:  -ExecutionPolicy Bypass -NoProfile -File "C:\Scripts\backup.ps1"
Der Pfad zur Skriptdatei ist natürlich nur beispielhaft, bitte anpassen.

Zum Thema PowerShell ganz allgemein gibt es auch einen Blog-Artikel PowerShell 7 unter Windows, der im Wesentlichen auch für Windows-Server gilt.