Automatisches Backup unter Windows

Hallo liebes Forum,
ich suche nach einer Möglichkeit meine PG-Datenbank unter Windows XP jeden Monat einmal automatisiert zu sichern.

Hat da jemand Erfahrung? Ich vermute ,dass geht über eine Batch-Datei?

Danke, Kai

pg_dumpall/pg_dump in Batchdatei… Den Rest findest im Handbuch…

cu tb

Alles klar, danke.

Ich habe jetzt zusätzlich auch noch ein Skript dazu gefunden:

@echo off
 
set CODEPAGE_DOS=850
set CODEPAGE_WIN=1252#
 
 
REM ========================================================================
 
 
set DIR_CMD=D:/Programme/Postgresql/8.2/bin
 
set CMD_PSQL=%DIR_CMD%\psql.exe
set CMD_DUMP=%DIR_CMD%\pg_dump.exe
set CMD_DUMP_ALL=%DIR_CMD%\pg_dumpall.exe
 
 
REM ========================================================================
 
 
set PGHOST=localhost
set PGDATABASE=my_neu
set PGUSER=postgres
set PGPASSWORD=postgres
set PGPORT=5432
 
set PGCODING=Latin1
 
 
REM ========================================================================
 
 
set DST_PATH=%~dp0\D:\Backup
 
 
REM ========================================================================
 
 
echo.%~n0
echo.
echo.
echo.Bachup Directory: %DST_PATH%
echo.
 
 
REM ========================================================================
 
 
set DST_FILE=Backup_Database_%PGDATABASE%.tar
 
%CMD_DUMP% %PGDATABASE% -Ft > "%DST_FILE%"
 
echo.Backup created: %DST_FILE%
echo.
 
 
REM ========================================================================

Kleine Korrektur.
Besser läuft es so:


@echo off
 
set CODEPAGE_DOS=850
set CODEPAGE_WIN=1252#
 
 
REM ========================================================================
 
 
set DIR_CMD=D:/Programme/Postgresql/8.2/bin
 
set CMD_PSQL=%DIR_CMD%\psql.exe
set CMD_DUMP=%DIR_CMD%\pg_dump.exe
set CMD_DUMP_ALL=%DIR_CMD%\pg_dumpall.exe
 
 
REM ========================================================================
 
 
set PGHOST=localhost
set PGDATABASE=oleg_neu
set PGUSER=postgres
set PGPASSWORD=postgres
set PGPORT=5432
 
 
 
 
REM ========================================================================
 
 
set DST_PATH=%~dp0
 
 
REM ========================================================================
 
 
echo.%~n0
echo.
echo.
echo.Bachup Directory: %DST_PATH%
echo.
 
 
REM ========================================================================
 
 
set DST_FILE=Backup_Database_%PGDATABASE%.sql
 
%CMD_DUMP% %PGDATABASE% > "%DST_PATH%\%DST_FILE%"
 
echo.Backup created: %DST_FILE%
echo.
 
 
REM ========================================================================

http://www.pg-forum.de/allgemeines/567-postgresql-8-backup.html

Hättest du auch hier im Forum gefunden wenn du etwas gesucht hättest… Btw: verwende für sowas bitte die Code-Tags. Danke.

Hat er auch. Er hat nur die Variable in dem allgemeinen Script vom mir angepast und es dann hier veröffentlicht. Man muß sich ja profilieren.



mfg

fristo

Ah, ok. :wink: Hab mir das zwar schon fast gedacht aber naja ich will ja niemanden was böses unterstellen :wink:

cu tb.

alles in einer zeile, pfade und dateinamen nach belieben anpassen, variablen ohne “<” und “>” angeben:

c:\programme\PostgreSQL\8.2\bin\pg_dump.exe
-f d:\backup\pgdump.dmp
-F p -C -S -U

optional danach:

bzip2.exe -z -f pgdump.dmp

das umbenennen des archivs erledige ich üblicherweise von hand. nichts gegen konfigurierbare scripts - aber mir scheint das schon fast ein wenig overkill.

tom

Jeder kann seine Datenbanksicherung so gestallten, wie er es für richtig hält. Für eine private Datenbanksicherung mit anschließende händischer Unbenennung der Archivdatei mag Dein Einzeiler auch reichen. Gesucht wurde eine Möglichkeit für eine monatliches, automatische Datenbanksicherung. Da reicht eine statische Befehleszeile, wie übrigens auch im Script eingesetzt, nicht aus.

Im Profibreich ist so eine Scriptvorlage nur elementarste Grundlage. Für eine Automatisierung benötigt man zumindest noch eine dymamische Namenserzeugung für die Archivdatei, das Umleiten von Stderr in eine LOG-Datei sowie eine Möglichkeit der Benachrichtigung eines Verantwortlichen im Falle, dass ein Fehler bei der Datensicherung aufgetreten ist. Aber die Ausgestalltung des Scripts wollte ich den Anwender überlassen. Wenn dann so ein Script immer noch ein overkill ist, hat man den Begriff Automatisierung nicht verstanden.



mfg

fristo

Hi, ich habe selbes Problem und zur Lösung das Skript von fristo genutzt. Hat alles hervorragenden funktioniert. Nachdem ich nun allerdings ein upgrade auf Postgres 8.3 gemacht habe bekomme ich bei der Ausführung folgende Fehlermeldung: pg_dump: too many command-line arguments (first is “-F”) Mir ist schleierhaft woran das liegen kann. Hat jemand eine Idee?

Ich habe das vom mir bereitgestellte Script jetzt auch mit PostgreSQL 8.3.1-1 getest. Es funktioniert einwandfrei!



mfg

fristo

Hallo,
auch ich habe dieses Script gestestet und es funktioniert.

Wie kann ich diese *.sql wiederherstellen?

Bin leider kein SQL Experte…
Sorry