Wiki & Dokumentation
Datenbank Backup mit PostgreSQL
Mit folgenden Batch Scripten kann ein rollierendes Backup von PostgreSQL Datenbanken erstellt werden.
Backup-Script
Je nach verwendeter Version des PostgreSQL Server unterscheiden sich die Skripte leicht.
PostgreSQL Version 10
@echo off REM Anzahl der Backups die aufgehoben werden SET KEEPDAYS=7 REM Hier werden die Backups gespeichert SET BACKUPPATH=C:\docuvita\PostgreSQL\backup REM PostgreSQL Benutzername SET USERNAME=postgres REM Passwort des Datenbankbenutzers SET PGPASSWORD=SauGeheim REM Pfad zum PostgresSQL Installationsordner SET PGPATH=C:\Program Files\PostgreSQL\10 REM Datenbank-Name SET DATABASE=docuvita REM Port des PostgreSQL Server SET PORT=5432 Forfiles /P "%BACKUPPATH%" /M *.backup /D -%KEEPDAYS% /C "cmd /c del /q @path" for /f "tokens=1-3 delims=. " %%i in ("%date%") do ( set day=%%i set month=%%j set year=%%k ) for /f "tokens=1-3 delims=:, " %%i in ("%time%") do ( set hr=%%i set min=%%j set sec=%%k ) set datestr=%year%%month%%day%_%hr%%min%%sec% echo datestr: %datestr% set BACKUP_FILE="%BACKUPPATH%\%DATABASE%_%datestr%.backup" echo backup file: %BACKUP_FILE% echo on "%PGPATH%\bin\pg_dump" -h localhost -p %PORT% -U %USERNAME% -F c -b -v -f %BACKUP_FILE% %DATABASE%
PostgreSQL Version 9.3
@echo off REM Anzahl der Backups die aufgehoben werden SET KeepDays=7 REM Hier werden die Backups gespeichert SET BackupPath=C:\docuvita\Postgrebackup REM Datenbank-Name SET DATABASE=docuvita REM PostgreSQL Benutzername SET USERNAME=postgres REM Passwort des Datenbankbenutzers SET PGPASSWORD=xxxxxx REM Pfad zum PostgresSQL Installationsordner SET PGPATH=C:\Program Files\PostgreSQL\10 REM Port des PostgreSQL Server SET PORT=36283 REM Löschen und Umbenennen der alten Backupdateien. forfiles /p "%BackupPath%" /m *.backup /d -%KeepDays% /c "cmd /c del /q @FILE" "%PGPATH%\bin\pg_dump.exe" --host localhost --port %PORT%--username %USERNAME%--format custom --blobs --verbose --file %BackupPath%\%Date:~-4,4%%Date:~-7,2%%Date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%_%DATABSE%.backup %DATABASE%
Pfade Anpassen
Die Pfade müssen noch angepasst werden
Aufgabenplanung
Die oben aufgeführten Skripte müssen nur automatisch gestartet werden. Eine Möglichkeit ist hierzu die Aufgabenplanung in Windows.
Sicherungsdateien
Externe Sicherung
Es ist wichtig, dass die Datenbank-Backups (*.backup) regelmäßig beim Server-Backup mit gesichert werden, da diese nach x (Variable KeepDays) Tagen gelöscht werden.
Verwandte Artikel
Copyright 2013-2020 docuvita solutions GmbH