Backup / Restore Postgres-Datenbanken (video station, etc.)

Status
Für weitere Antworten geschlossen.

otmanix

Benutzer
Mitglied seit
06. Jan 2012
Beiträge
43
Punkte für Reaktionen
0
Punkte
0
Die Postgres-Datenbanken, die von Video station, photo station, media server, usw. als Repository verwendet werden sind bis dato nur teilweise von den Synology Backup Tools abgedeckt. Eine Sicherung dieser Datenbanken ist für folgende Einsatzzwecke sinnvoll:
- Sicherung der Mediendatenbanken gegen Administrationsfehler, etc. (selbe DS, HDDs bleiben gleich)
- Migration von einer Diskstation auf ein anderes Modell ohne Verlust der Mediendatenbanken (neue DS, HDDs bleiben gleich)
- Synchronisierung gemeinsamer Ordner für Desaster Recovery, kein Verlust der Mediendatenbanken (Backup/Desaster Recovery-DS, separate HDDs)
- Reduzierung der Laufzeiten für Index/Thumbnail nach Umstellungen

Zunächst einmal lege ich einen gemeinsamen Ordner "config" an in dem ein Skript für Backup und Restore erstellt wird. Beim Anlegen der Shellskripte über Windows ist auf korrekten Zeilenumbruch im Editor zu achten! Deshalb bevorzuge ich das Anlegen im Editor vi auf Linux. Deshalb mit Putty/ssh anmelden als root...

nas> cd /volume1/config/
nas> vi backup_postgres.sh >> mit i wie insert in den Eingabemodus wechseln, nun folgenden Text einfügen (bei Putty Zwischenablage via rechtsklick einfügen):
# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l

# backup postgres databases (media server, photo/video/download station)
# backup im ASCII-mode inkl. blobs
rm /volume1/config/mediaserver.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/mediaserver.sql mediaserver
rm /volume1/config/photo.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/photo.sql photo
rm /volume1/config/video_metadata.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/video_metadata.sql video_metadata
rm /volume1/config/download.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/download.sql download

>> mit ESC in den Befehlsmodus wechseln und mit :wq speichern und schließen
nas> vi restore_postgres.sh
# stop indexing and thumbnails
/usr/syno/etc/rc.d/S66synoindexd.sh stop
/usr/syno/etc/rc.d/S77synomkthumbd.sh stop
/usr/syno/etc/rc.d/S88synomkflvd.sh stop

# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l

# drop and restore postgres databases (media server, photo/video/download station)
su - admin
/usr/syno/pgsql/bin/dropdb mediaserver
/usr/syno/pgsql/bin/dropdb photo
/usr/syno/pgsql/bin/dropdb video_metadata
/usr/syno/pgsql/bin/dropdb download
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/mediaserver.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/photo.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/video_metadata.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/download.sql

# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l

# start indexing and thumbnails
/usr/syno/etc/rc.d/S66synoindexd.sh start
/usr/syno/etc/rc.d/S77synomkthumbd.sh start
/usr/syno/etc/rc.d/S88synomkflvd.sh start


Backup

Das Backup-Skript kann dann z.B. über den Aufgabenplaner regelmäßig gestartet werden:
Erstellen > Benutzerdefiniertes Skript > Vorgang "backup_postgres" > Benutzer "root" > benutzerdef. skript "/volume1/config/backup_postgres.sh" > Zeitplan ...
Der gemeinsame Ordner "config" kann dann regelmäßig via Datensicherung / Synchronisierung gemeinsamer Ordner gesichert werden.

Restore

Zunächst media server, photo/video/download station stoppen.
Zum Wiederherstellen der postgres-Datenbanken /volume1/config/restore_postgres.sh als root auf der gewünschten DS ausführen.
Vorsicht! Alle DBs die im Skript aufgeführt sind werden gelöscht. Benutzen sollte das nur jemand, der verstanden hat, was im Skript passiert...

Erfahrung

Ich habe meine HDDs von einer DS411j auf DS413 laut Synology-Leitfaden migriert und mit obiger Lösung einen Verlust der mühsam erstellten Video station Datenbank, etc. entgegengewirkt.
Es war auch problemlos möglich audio/video/photo mittels gemeinsamer Ordner Synchronisierung auf eine DS110j zu replizieren und mit obiger Lösung die postgres-DBs mitzunehmen. Die Applikationen sollten zuvor auf der Ziel-DS bereits installiert sein.

Ggf. kann jemand diese Infos brauchen. Benutzung der Skripte auf eigene Verantwortung...
 
Zuletzt bearbeitet:

Psy87

Benutzer
Mitglied seit
09. Dez 2010
Beiträge
120
Punkte für Reaktionen
10
Punkte
18
Welche Anpassungen sind für DSM 6 nötig?

Der Ordner: "/usr/syno/pgsql/" existiert bereits nicht, statt dessen aber mysql.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393
Hallo,
ersetze /usr/syno/pgsql/bin durch /bin. Per which <BEFEHL> sieht man den Pfad für Befehl.

Gruß Götz
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat