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