Grafisches Tool für automatisiertes Backup PostgreSQL Datenbank
Guten Morgen,
ich sollte vielleicht etwas weiter ausholen, um mein Anliegen darzustellen:
Seit einigen Jahren wird versucht, bayernweit an allen staatlichen Schulen die ASV=Amtliche Schulverwaltung einzuführen. Dabei handelt es sich um ein Schulverwaltungsprogramm, mit dem jede noch so kleine Kleinigkeit, was Schüler- und Lehredaten v.a. betrifft, erfasst werden soll/kann. Zum Verständnis hier, die Arbeitsweise:
http://www.asv.bayern.de/asv/basisinformationen.html
Da unser Landkreis für den Bereich Grund- und Mittelschulen in diesem Schuljahr als Pilotlandkreis ausgewählt wurde, hier nun meine Frage zur Sicherung der Datenbank.
Ich würde mir wünschen, dass man die komplette Datenbank mit einem grafischen Tool automatisch zu einer vorgegeben Zeit sichern kann, was das Programm ASV leider momentan noch nicht kann. Dort ist nur eine Sicherung per Knopfdruck möglich.
Dieses Tool http://postgresql-backup.com würde genau meinen Vorstellungen entsprechen. Ich habe es auch schon getestet, doch leider ohne Erfolg. Die Datenbank konnte ich nicht rücksichern, als ich versuchte, sie über pgadminIII wieder einzulesen. Ich muss dazu sagen, meine Kenntnisse in Sachen Datenbankprogrammierung gehen gegen null und so geht es dem Großteil der Lehreschaft, die sich mit dem Programm ASV herumschlagen muss.
Alternativ dazu wird von den ASV entwicklern folgendes Skript angeboten, das dann über den Windows Taskmanager abgearbeitet werden kann.
asvbackup.bat
@echo off
Echo Erstellen eines Backups der ASV-Datenbank
Echo =========================================
Echo.
Rem Bitte hier Zielverzeichnis einstellen (ohne \ am Ende)
set ziel=Z:\ASVbackup
Rem Konfiguration
Rem Standardverzeichnisse für pg_dump.exe unter Windows
Rem (Bitte ggf. anpassen, wenn Sie von der Standardinstallation
Rem abgewichen sind.)
set pgdumpProgramm="D:\postgreSQL\9.3\bin\pg_dump.exe"
set PGPASSWORD=spitze
REM Ausgabeformat
set backup=asv_20%date:~8,2%%date:~3,2%%date:~0,2%.backup
IF Exist %ziel%/nul (
GOTO speichern
) ELSE (
Echo Das Zielverzeichnis '%ziel%' existiert nicht.
Echo Es wurde NICHTS gespeichert.
Echo.
GOTO Ende
)
:speichern
IF Exist %pgdumpProgramm% (
Echo Backup unter Win7:
Echo %pgdumpProgramm% -U asv -Fc -f %ziel%\%backup%
%pgdumpProgramm% -U asv -Fc -f %ziel%\%backup%
)
set PGPASSWORD=null
Echo.
Echo Backup-Vorgang abgeschlossen.
Echo.
Echo Der Name der Sicherungsdatei lautet:
Echo %ziel%\%backup%
Echo.
:Ende
PAUSE
asvrestore:
http://www.asv.bayern.de/wiki/_export/code/backup/batch?codeblock=1[26.11.2015 06:40:03]
@echo Off
REM Bitte hier einstellen, in welchem Verzeichnis sich
REM die Postgres-Tools dropdb.exe, createdb.exe und
REM pgrestore.exe befinden. (ohne \ am Ende)
SET pgpfad="C:\Program Files\PostgreSQL\9.2\bin\"
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
IF EXIST %1 GOTO RESTORE
ECHO Keine Datei!!!
GOTO KEINEDATEI
:RESTORE
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb
ECHO Bitte hier das Postgres-Passwort angeben (falls es verlangt wird),
ECHO nicht das ASV-Datenbank-Passwort!
ECHO.
"%pgpfad%\dropdb.exe" -U postgres asv
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb
ECHO Bitte geben Sie das ASV-Datenbank-Passwort an! (meist 'asv')
ECHO.
"%pgpfad%\createdb.exe" -U asv asv
IF NOT %ERRORLEVEL%==0 GOTO FEHLER2
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb ... Die neue (noch leere Datenbank) wurde angelegt.
ECHO.
ECHO 3. pg_restore (Daten einspielen)
ECHO Der Restore-Vorgang kann ein paar Minuten dauern. Bitte Geduld!
ECHO Wiederhergestellt wird:
ECHO %1
ECHO.
ECHO Bitte nochmal das ASV-Datenbank-Passwort angeben! (meist 'asv')
ECHO.
"%pgpfad%\pg_restore.exe" -d asv -U asv -v %1
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
http://www.asv.bayern.de/wiki/_export/code/backup/batch?codeblock=1[26.11.2015 06:40:03]
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb ... Die neue (noch leere Datenbank) wurde angelegt.
ECHO.
ECHO 3. pg_restore Die leere Datenbank wurde mit Inhalten gefuellt.
ECHO.
ECHO.
ECHO Die Wiederherstellung der Datei
ECHO %1
ECHO ist abgeschlossen.
GOTO ENDE
:KEINEDATEI
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO Es wurde keine .backup-Datei fuer Postgres angegeben.
ECHO Bitte 'ziehen' Sie eine solche Datei auf diese .bat-Datei!
GOTO ENDE
:FEHLER2
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO Fehler beim Erstellen der Datenbank.
ECHO Moegliche Fehlerquellen:
ECHO - Laeuft der ASV-Server noch?
ECHO - Sie haben ein falsches ASV-Datenbankkennwort angegeben.
GOTO ENDE
:ENDE
ECHO.
PAUSE
Ist es möglich dieses Skript/ Skripte mit z.B. Autoit zu visualisieren sprich GUI. Ich hoffe, ich konnte mich klar ausdrücken;)
Danke.
Gruß
ich sollte vielleicht etwas weiter ausholen, um mein Anliegen darzustellen:
Seit einigen Jahren wird versucht, bayernweit an allen staatlichen Schulen die ASV=Amtliche Schulverwaltung einzuführen. Dabei handelt es sich um ein Schulverwaltungsprogramm, mit dem jede noch so kleine Kleinigkeit, was Schüler- und Lehredaten v.a. betrifft, erfasst werden soll/kann. Zum Verständnis hier, die Arbeitsweise:
http://www.asv.bayern.de/asv/basisinformationen.html
Da unser Landkreis für den Bereich Grund- und Mittelschulen in diesem Schuljahr als Pilotlandkreis ausgewählt wurde, hier nun meine Frage zur Sicherung der Datenbank.
Ich würde mir wünschen, dass man die komplette Datenbank mit einem grafischen Tool automatisch zu einer vorgegeben Zeit sichern kann, was das Programm ASV leider momentan noch nicht kann. Dort ist nur eine Sicherung per Knopfdruck möglich.
Dieses Tool http://postgresql-backup.com würde genau meinen Vorstellungen entsprechen. Ich habe es auch schon getestet, doch leider ohne Erfolg. Die Datenbank konnte ich nicht rücksichern, als ich versuchte, sie über pgadminIII wieder einzulesen. Ich muss dazu sagen, meine Kenntnisse in Sachen Datenbankprogrammierung gehen gegen null und so geht es dem Großteil der Lehreschaft, die sich mit dem Programm ASV herumschlagen muss.
Alternativ dazu wird von den ASV entwicklern folgendes Skript angeboten, das dann über den Windows Taskmanager abgearbeitet werden kann.
asvbackup.bat
@echo off
Echo Erstellen eines Backups der ASV-Datenbank
Echo =========================================
Echo.
Rem Bitte hier Zielverzeichnis einstellen (ohne \ am Ende)
set ziel=Z:\ASVbackup
Rem Konfiguration
Rem Standardverzeichnisse für pg_dump.exe unter Windows
Rem (Bitte ggf. anpassen, wenn Sie von der Standardinstallation
Rem abgewichen sind.)
set pgdumpProgramm="D:\postgreSQL\9.3\bin\pg_dump.exe"
set PGPASSWORD=spitze
REM Ausgabeformat
set backup=asv_20%date:~8,2%%date:~3,2%%date:~0,2%.backup
IF Exist %ziel%/nul (
GOTO speichern
) ELSE (
Echo Das Zielverzeichnis '%ziel%' existiert nicht.
Echo Es wurde NICHTS gespeichert.
Echo.
GOTO Ende
)
:speichern
IF Exist %pgdumpProgramm% (
Echo Backup unter Win7:
Echo %pgdumpProgramm% -U asv -Fc -f %ziel%\%backup%
%pgdumpProgramm% -U asv -Fc -f %ziel%\%backup%
)
set PGPASSWORD=null
Echo.
Echo Backup-Vorgang abgeschlossen.
Echo.
Echo Der Name der Sicherungsdatei lautet:
Echo %ziel%\%backup%
Echo.
:Ende
PAUSE
asvrestore:
http://www.asv.bayern.de/wiki/_export/code/backup/batch?codeblock=1[26.11.2015 06:40:03]
@echo Off
REM Bitte hier einstellen, in welchem Verzeichnis sich
REM die Postgres-Tools dropdb.exe, createdb.exe und
REM pgrestore.exe befinden. (ohne \ am Ende)
SET pgpfad="C:\Program Files\PostgreSQL\9.2\bin\"
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
IF EXIST %1 GOTO RESTORE
ECHO Keine Datei!!!
GOTO KEINEDATEI
:RESTORE
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb
ECHO Bitte hier das Postgres-Passwort angeben (falls es verlangt wird),
ECHO nicht das ASV-Datenbank-Passwort!
ECHO.
"%pgpfad%\dropdb.exe" -U postgres asv
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb
ECHO Bitte geben Sie das ASV-Datenbank-Passwort an! (meist 'asv')
ECHO.
"%pgpfad%\createdb.exe" -U asv asv
IF NOT %ERRORLEVEL%==0 GOTO FEHLER2
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb ... Die neue (noch leere Datenbank) wurde angelegt.
ECHO.
ECHO 3. pg_restore (Daten einspielen)
ECHO Der Restore-Vorgang kann ein paar Minuten dauern. Bitte Geduld!
ECHO Wiederhergestellt wird:
ECHO %1
ECHO.
ECHO Bitte nochmal das ASV-Datenbank-Passwort angeben! (meist 'asv')
ECHO.
"%pgpfad%\pg_restore.exe" -d asv -U asv -v %1
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
http://www.asv.bayern.de/wiki/_export/code/backup/batch?codeblock=1[26.11.2015 06:40:03]
ECHO.
ECHO 1. dropdb ... Die bisherige Datenbank wurde geloescht.
ECHO.
ECHO 2. createdb ... Die neue (noch leere Datenbank) wurde angelegt.
ECHO.
ECHO 3. pg_restore Die leere Datenbank wurde mit Inhalten gefuellt.
ECHO.
ECHO.
ECHO Die Wiederherstellung der Datei
ECHO %1
ECHO ist abgeschlossen.
GOTO ENDE
:KEINEDATEI
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO Es wurde keine .backup-Datei fuer Postgres angegeben.
ECHO Bitte 'ziehen' Sie eine solche Datei auf diese .bat-Datei!
GOTO ENDE
:FEHLER2
CLS
ECHO Wiederherstellen einer ASV-Datenbank
ECHO =====================================
ECHO.
ECHO Fehler beim Erstellen der Datenbank.
ECHO Moegliche Fehlerquellen:
ECHO - Laeuft der ASV-Server noch?
ECHO - Sie haben ein falsches ASV-Datenbankkennwort angegeben.
GOTO ENDE
:ENDE
ECHO.
PAUSE
Ist es möglich dieses Skript/ Skripte mit z.B. Autoit zu visualisieren sprich GUI. Ich hoffe, ich konnte mich klar ausdrücken;)
Danke.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 289400
Url: https://administrator.de/contentid/289400
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo udobec
ich würde die Geschichte mit Script und Taskplaner beibehalten, wenn das einmal vernünftig eingerichtet ist läuft das problemlos.
Bei den paar Servern die ich noch betreue handle ich überall die Backups mit nach diesem Schema.
Sobald irgendwas interaktiv läuft oder irgendwer was zum "rumklicken" hatte gabs irgendwann mal Probleme...Vor der Eingabeaufforderung haben die meisten noch Respekt
ich würde die Geschichte mit Script und Taskplaner beibehalten, wenn das einmal vernünftig eingerichtet ist läuft das problemlos.
Bei den paar Servern die ich noch betreue handle ich überall die Backups mit nach diesem Schema.
Sobald irgendwas interaktiv läuft oder irgendwer was zum "rumklicken" hatte gabs irgendwann mal Probleme...Vor der Eingabeaufforderung haben die meisten noch Respekt
Ja, kein Problem. Schreibe mir deine Kontaktdaten als PM und ich setzte mich mit Dir in Verbindung um das Projekt/Anforderungen abzusprechen.
MfG Andreas
Hallo,
Das ist mit 60-130 $ aber ganz schön happig, dafür dass es nur diese eine Aufgabe löst. Warum kein günstiges Backup Programm und das komplette Datenverzeichnis von Postgre SQL sichern? Zumal die dann noch universell einsetzbar sind. Überlege mal folgendes:
1. Der vorgestellte Script erstellt einen Dump deiner Datenbank, aber der muss auch noch gesichert werden.
2. Bei jedem Update von Postgre muss der Script angepasst werden.
Ich würde ein einfaches Backup-Programm wie z.B. Personal-Backup, Cobian Backup oder Z-DBackup einsetzen. Da ich selbst Z-DBackup benutze, weiß ich, dass es kein Aufwand ist, verschiedene Datenbanken (Fastobject, MSSQL oder Postgre) vor der Sicherung automatisch anzuhalten und nach dem Backup wieder zu starten.
LG Horst
Dieses Tool http://postgresql-backup.com würde genau meinen Vorstellungen entsprechen.
Das ist mit 60-130 $ aber ganz schön happig, dafür dass es nur diese eine Aufgabe löst. Warum kein günstiges Backup Programm und das komplette Datenverzeichnis von Postgre SQL sichern? Zumal die dann noch universell einsetzbar sind. Überlege mal folgendes:
1. Der vorgestellte Script erstellt einen Dump deiner Datenbank, aber der muss auch noch gesichert werden.
2. Bei jedem Update von Postgre muss der Script angepasst werden.
Ich würde ein einfaches Backup-Programm wie z.B. Personal-Backup, Cobian Backup oder Z-DBackup einsetzen. Da ich selbst Z-DBackup benutze, weiß ich, dass es kein Aufwand ist, verschiedene Datenbanken (Fastobject, MSSQL oder Postgre) vor der Sicherung automatisch anzuhalten und nach dem Backup wieder zu starten.
LG Horst
wenn ich das richtig sehe, sicherst du mit Cobian Backup z.B. den Datenordner der PostgreSQL Datenbank und hältst dabei vorher den Dienst der Datenbank automatisch an, oder? Cobian backup habe ich schon auf dem Server für eine anderen Dateiordner laufen.
Nein, wir benutzen seit 2 Monaten Z-DBackup. Ursprünglich angeschaft für die Archivierung von Projektdaten auf einen Magnum-Medienwechsler. Wir erstellen jetzt damit auch unsere Systemsicherung und die Datensicherung unserer Addision Buchhaltung (Fastobject Datenbank).
1. Welcher ordner der Datenbank ist das genau (der hier? C:\Program Files\PostgreSQL\9.4\data)?
Ja, wenn das der Speicherort deiner Datenbank ist. Einfacher ist aber das ganze Verzeichnis "C:\Program Files\PostgreSQL" zu sichern. Grundsätzlich, würde ich persönlich PostgreSQL direkt unter C:\ bzw. D:\ installieren. Wo sich dein Datebverzeichnis befindet kannst Du auch unter Dienste nachsehen:
"C:\Program Files\PostgreSQL\9.4\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.4" -D "C:\Program Files\PostgreSQL\9.4\data" -w
2. Wie hältst du den Dienst automatisch an und startest ihn wieder?
Der Start und Stop der Datenbankdienste (Fastobject, MSSQL oder Postgre) sind eingebaute Funktionen von Z-DBackup, die man vor oder nach dem Backup einbinden kann. Es sind ca. 50 vordefinierte Aktionen vorhanden.
3. Wie sieht dann/wie klappt dann eine Rücksicherung?
Dienst anhalten, Rücksicherung durchführen, Dienst starten - fertig.
Auch bei einer Systemsicherung musst man im Gegensatz zu MSSQL die Datenbankdienste von Fastobject, oder Postgre anhalten.
LG Host
Das Programm ist Freeware und kann kostenlos aus dem Internet geladen werden.
Mit dem Programm kann eine PostgreSQL Datenbank mit wenig Aufwand gesichert und wiederhergestellt werden. Mit einer Anbindung an den Windows Task Planer kann ein Zeitplan für regelmäßige Backups der Daten erstellt werden.
http://www.point2click.de/freeware/z-asvdump.html
Mit dem Programm kann eine PostgreSQL Datenbank mit wenig Aufwand gesichert und wiederhergestellt werden. Mit einer Anbindung an den Windows Task Planer kann ein Zeitplan für regelmäßige Backups der Daten erstellt werden.
http://www.point2click.de/freeware/z-asvdump.html