Rettung der postgreSQ Datenbank von paperless-ngx

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

In einem anderen Thread wurde geschrieben, dass Hyper Backup die Container nicht sichert. Also den Inhalt der Container, sondern nur wie sie erstellt werden. Das würde ja heißen, dass deine DB auch weg ist....
 
Bye the way, was spricht eigentlich gegen Snapshot des Docker Containers inkl. archiv/consume? Sollte doch beim WIederherstellen kein Probleme geben?
 
Ich habe bisher Paperless-ngx ausschließlich so wiederhergestellt, dass ich eine Hyper Backup Sicherung zurückgespielt habe (für die Daten in den Containern) und danach mit meiner yml und env die Container im Container Manager neu habe anlegen lassen.
 
So! Ich habe jetzt eine Woche gewartet bei meine unveränderlichen Schnappschüsse abgelaufen waren und heute den ganzen Tag das Hype Backup zurückgespielt. In der Sicherungsart "Gesamtes System" speichert Hype Backup wohl wirklich alles. Also auch die Container und deren Inhalte. Ich habe meine Datenbank von letzter Woche also zurück.

Da das Rücksichern aber den ganzen Tag dauerte würde ich beim nächsten Schritt gerne etwas vorsichtiger sein. Wenn ich jetzt den Ordner /var/lib/postresql/data mounte, klappt das dann? Weil @alexhell Du schriebst:

"WICHTIG: Wenn du das Backup wieder herstellst, dann mounten nicht den Ordner wie du es eben gemacht hast. Dann sind deine Daten weg."

Bleibt das also die einzige Option die Daten im Container zu lassen, nie ein Update einzuspielen und den Container mit Hype Backup zu sichern? Oder kann ich die Datenbank doch noch irgendwie mounten?
 
Du musst einen anderen Ordner mounten. Also als Beispiel host: /volume1/Docker/paperless/DB_backup und im Container/backup. Dann könntest du ins Terminal vom PSQL Container und mit pg_dump dann ein DB Dump in /backup erstellen. Dann den Container beenden/löschen und neu machen mit den richtigen Mounts und die DB mit pg_restore wieder herstellen.

Edit: wenn du direkt den Ordner für die DB mountest, dann ist der Ordner im Container leer.
 
Das hast funktioniert. Danke!

Da jetzt alles wieder läuft, meine Learnings:

1. Unveränderliche Snappshots verhindern, dass man das Gesamtsystem zurücksetzen kann.
2. Hyper Backup sichert im Gesamtsystem auch die Container mit Inhalt
3. Die Container (nicht Image) Exportfunktion sicher auch den Container und die DB. Ich hatte beim Export aber nur „Containereinstellungen“ und nicht „Containereinstellungen und Inhalt“ ausgewählt. Daher war in meinem exportierten Container auch keine DB.
4. Ich hatte Postgres falsch aufgesetzt, weil ich die DB nicht gemountet hatte. Es empfiehlt sich /var/lib/postgresql/data zu mounten und zu sichern.
5. Einen Datenbank dump mit pg_dump und pg_restore zu sichern und ggf. zurück zu spielen ist sehr sinnvoll.
6. In diesem Forum bekommt man extrem schnell, sehr kompetente Hilfe.
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: plang.pl

Additional post fields

 

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