Lesedauer 2 Minuten

Das folgende PowerShell Skript sichert alle Postgres-Datenbanken einzeln als komprimierte Archive. Pro Tag wird 1 eigener Ordner im Backupverzeichnis angelegt. Alte Postgres-Backups werden nach frei einstellbarer Haltezeit automatisch bereinigt:

Für die Datenkompression verwendet das Skript 7Zip.

Postgres Backup per Skript: Die Konfiguration

Zur Konfiguration werden folgende Variablen verwendet:

  • $HOLD_DAYS: Die Haltezeit der archivierten Backups.
  • $TIMESTAMP: Der Zeitstempel für den Backup-Ordner.
  • $BACKUP_DIR: Der Zielordner.
  • $DB_USR: Postgres Admin User
  • $DB_PWD: Postgres Admin Passwort.
  • $DB_HOST: Die Adresse des Postgres Servers.
  • $DB_PORT: Der Port des Postgres Servers.
  • $DB_DUMP_CMD: Der Pfad zu dump.exe, passend zur Postgres-Version.
  • $DB_DUMPALL_CMD: Der Pfad zu dumpall.exe, passend zur Postgres-Version.
  • $DB_TOOL_CMD: Der Pfad zu psql.exe, passend zur Postgres-Version.

Über die folgenden Kommandos kann das Skript dann in den Windows Aufgabenplaner eingetragen werden:

  • Ausführbare Datei: powershell.exe
  • Startparameter: -ExecutionPolicy Bypass -File “C:\bin\backup-postgres.ps1”

In diesem Beispiel befindet sich das Skript in C:\bin\.

Auf diese Weise sind Backups im laufenden Betrieb möglich, der Postgres-Dienst muss dazu nicht angehalten werden.

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!