Inhaltsverzeichnis

Backup und Restore mit Batch-Dateien (regelmäßige, automatische Datensicherung)

Diese Funktion ist im Aktualisierungsdienst integriert. Lesen Sie dazu Regelmäßige, automatische Datensicherung durch den Aktualisierungsdienst.

Diese Seite wird nicht mehr gepflegt.

Diese Dokumentation soll Anhaltspunkte geben, wie es funktionieren kann, wenn der Aktualisierungsdienst nicht verwendet wird.

Für das Backup und Restore der ASV-Datenbank stehen Ihnen zwei Batch-Dateien zur Verfügung, die helfen könnten. Bitte laden Sie sich diese herunter.

Backup

Laden Sie sich zunächst die unten stehende Datei herunter (für den direkten Download auf den Dateinamen klicken).

Klicken Sie die Datei zum Anpassen mit der rechten Maustaste an und wählen Sie „Bearbeiten“. Zur besseren Übersicht sollte unter „Format“ „Zeilenumbruch“ eingestellt werden.

asv_backup.bat
@Echo off
Echo Erstellen eines Backups der ASV-Datenbank
Echo =========================================
Echo.
 
Rem Bitte hier Zielverzeichnis einstellen (ohne \ am Ende)
set ziel=C:\ASV\Sicherung
 
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="C:\Program Files\PostgreSQL\9.2\bin\pg_dump.exe"
set PGPASSWORD=geheim
 
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% asv
         %pgdumpProgramm% -U asv -Fc -f %ziel%\%backup% asv
)
 
set PGPASSWORD=null
Echo.
Echo Backup-Vorgang abgeschlossen.
Echo.
Echo Der Name der Sicherungsdatei lautet:
Echo   %ziel%\%backup%
Echo.
 
:Ende
 
PAUSE

Führen Sie die Batchdatei durch Aufruf mit asv_backup.bat in einer Eingabeaufforderung aus, nachdem Sie die Konfiguration an Ihre Verhältnisse angepasst haben.

Hinweise:

Empfehlung der PostgreSQL Projektgruppe ist die Verwendung einer Datei .pgpass, statt der Variablen PGPASSWORD. Siehe http://www.postgresql.org/message-id/ga6lj0$d6v$1@ger.gmane.org und http://www.postgresql.org/docs/current/static/libpq-pgpass.html.

Nach dem Start der Batch-Datei wird das Backup in das eingestellte Zielverzeichnis geschrieben. Der Dateiname des Backup enthält das Sicherungsdatum. (z. B. asv_20131002.backup)
Die Batch-Datei eignet sich auch, um ASV regelmäßig per „geplantem Task“ zu sichern (siehe unten).

Restore

Bitte laden Sie die Batch-Datei folgende Batch-Datei herunter. Zum direkten Download klicken Sie auf den Dateinamen.

asv_restore.bat
@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 =====================================
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

Die Batch-Datei ist für eine Standard-Installation von Postgres unter Windows7 ausgelegt. Die Variable pgpfad verweist auf das Verzeichnis in dem sich die Postgres-Tools dropdb.exe, createdb.exe und pgrestore.exe befinden. Am Ende der Variablen darf kein \ stehen!

Wenn eine Sicherung zurückgespielt werden soll, …

Einrichtung einer automatisierten Datenbanksicherung

Damit Sie nicht täglich eine manuelle Sicherung der ASV-Datenbank erstellen müssen, können Sie diesen Vorgang automatisieren:

Alternative Skripte von Schulen

Falls Sie Lösungen für spezielle Konfigurationen in Ihrer Systemumgebung suchen, werden Sie vielleicht in der Sammlung alternativer Skripte:start fündig.