Backup und Restore mit Batch-Dateien (regelmäßige - ASV

21.07.2016 19:43
1/6
Backup und Restore mit Batch-Dateien (regelmäßige, automatische Datensicherung)
Backup und Restore mit Batch-Dateien
(regelmäßige, automatische Datensicherung)
Für das Backup und Restore der ASV-Datenbank stehen Ihnen zwei Batch-Dateien zur Verfügung, die
diese Arbeit recht komfortabel erledigen können. 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
Rem
Rem
Rem
Konfiguration
Standardverzeichnisse für pg_dump.exe unter Windows
(Bitte ggf. anpassen, wenn Sie von der Standardinstallation
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
Amtliche Schulverwaltung - Dokumentation - http://www.asv.bayern.de/wiki/
Letzte Änderung: 11.07.2016 13:28
alle:technik:backup:batch http://www.asv.bayern.de/wiki/alle/technik/backup/batch
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:
set ziel=…
in dieses Verzeichnis werden die Sicherungsdateien abgelegt
set pgdumpProgramm=„C:\Program Files\PostgreSQL\9.2\bin\pg_dump.exe“
Pfad zu pg_dump.exe, das normalerweise in der Postgres-Installation enthalten ist
set PGPASSWORD=geheim
Ersetzen Sie geheim durch das von Ihnen bei der Installation vergebene Passwort für den
Datenbankbenutzer asv. (Siehe Installationsprotokoll)
Falls das Passwort des Datenbankbenutzers asv
ein %-Zeichen enthält, muss dieses durch eine
weiteres %-Zeichen „maskiert“ werden.
Beispiel:
Passwort: abc%123
Eintrag in das Skript: abc%%123
Falls das Passwort andere komplexe Zeichen
enthält empfiehlt sich folgende Vorgehensweise:
Vor jedes Sonderzeichen muss das ^. In einem
Kennwort mit z.B. (&)(&% würde das dann so
aussehen: ^(^&^)^(^&^%
Empfehlung der PostgreSQL Projektgruppe ist die Verwendung einer Datei .pgpass, statt der
Variablen PGPASSWORD. Siehe http://www.postgresql.org/message-id/[email protected]
http://www.asv.bayern.de/wiki/
Stand: 21.07.2016 19:43
21.07.2016 19:43
3/6
Backup und Restore mit Batch-Dateien (regelmäßige, automatische Datensicherung)
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
REM
REM
SET
Bitte hier einstellen, in welchem Verzeichnis sich
die Postgres-Tools dropdb.exe, createdb.exe und
pgrestore.exe befinden. (ohne \ am Ende)
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')
Amtliche Schulverwaltung - Dokumentation - http://www.asv.bayern.de/wiki/
Letzte Änderung: 11.07.2016 13:28
alle:technik:backup:batch http://www.asv.bayern.de/wiki/alle/technik/backup/batch
ECHO.
"%pgpfad%\createdb.exe" -U asv asv
IF NOT %ERRORLEVEL%== 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.
http://www.asv.bayern.de/wiki/
Stand: 21.07.2016 19:43
21.07.2016 19:43
5/6
Backup und Restore mit Batch-Dateien (regelmäßige, automatische Datensicherung)
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, …
Stoppen Sie zunächst den ASV-Server.
Ziehen Sie die Sicherungsdatei mit der Maus auf die Restore-Batch-Datei.
Geben Sie Sie auf Nachfrage die Kennwörter des Postgres-Servers bzw. der asv-Datenbank an.
Starten Sie den ASV-Server wieder.
Einrichtung einer automatisierten Datenbanksicherung
Damit Sie nicht täglich eine manuelle Sicherung der ASV-Datenbank erstellen müssen, können Sie
diesen Vorgang automatisieren:
Legen Sie sich auf dem Computer, auf dem die Sicherungsdateien gespeichert werden sollen,
ein Verzeichnis 'ASV-Datenbanksicherung' an.
Speichern Sie die genannten Batch-Dateien in das neu erstellte Verzeichnis.
Rufen Sie in Windows (am Beispiel von Windows 7)
'Systemsteuerung/Verwaltung/Aufgabenplanung' auf.
Klicken Sie rechts unter 'Aktionen' auf 'Einfache Aufgabe erstellen…„!
Name: ASV-Sicherung, Beschreibung: ASV-Sicherung, täglich um 18:00 Uhr. ⇒ Weiter
Wann soll die Aufgabe gestartet werden?: Täglich ⇒ Weiter
Start: heutiges Datum, 18:00:00, Wiederholung alle: 1 Tage ⇒ Weiter
Welche Aktion …?: Programm starten ⇒ Weiter
Amtliche Schulverwaltung - Dokumentation - http://www.asv.bayern.de/wiki/
Letzte Änderung: 11.07.2016 13:28
alle:technik:backup:batch http://www.asv.bayern.de/wiki/alle/technik/backup/batch
Programm/Skript: Wählen Sie hier die oben genannte Batchdatei aus! ('Argumente
hinzufügen' und 'Starten in' leer lassen.) ⇒ Weiter
⇒ Fertigstellen
Nun sollte die Batch-Datei jeden Tag um 18:00 Uhr eine Sicherungsdatei erstellen. Die Namen
der Sicherungsdateien sind folgendermaßen aufgebaut: asv_[Datum].backup (z. B.
asv_20131007.backup)
Das Rückspielen einer Backup-Datei ist über den oben beschriebenen Restore-Prozess jederzeit
möglich.
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.
Quelle:
http://www.asv.bayern.de/wiki/ - Amtliche Schulverwaltung - Dokumentation
Permanenter Link:
http://www.asv.bayern.de/wiki/alle/technik/backup/batch
Letzte Änderung: 11.07.2016 13:28
http://www.asv.bayern.de/wiki/
Stand: 21.07.2016 19:43