Paperless-ngx Paperless-ngx Datensicherung

Sabine_14

Benutzer
Mitglied seit
02. Okt 2023
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
was genau macht der Befehl?
containername-von-postgres muss ich ersetzen durch paperless-db wahrscheinlich, oder?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Wenn der Container so heißt dann ja. Du musst auch /volume1/...../backup.sql ersetzen durch einen Pfad wo es gespeichert werden soll.
Der Befehl schreibt einen Export der Datenbank in die Datei backup.sql.
 

Sabine_14

Benutzer
Mitglied seit
02. Okt 2023
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
/usr/local/bin/docker exec paperless-ngx-db-1 pg_dump -c DB_NAME > /volume1/backup paperless/backup.sql

passt so?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Hast du einen Freigegeben Ordner mit dem Namen backup paperless? Wenn ja, dann /volume1/backup paperless/backup.sql. Aber ich würde eher /volume1/docker/paperless-ngx/backup.sql nutzen....
Und DB_NAME muss noch durch den DB Namen (paperless) ersetzt werden.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
db:
image: docker.io/library/postgres:13
restart: unless-stopped
volumes:
- /volume1/docker/paperless-ngx/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
Steht in deinem Stack.....
Sorry, aber bisschen einarbeiten in das was man nutzt wäre nicht verkehrt.
 

Sabine_14

Benutzer
Mitglied seit
02. Okt 2023
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Du hast recht, bin auch gewillt, aber wenn man nicht genau weiß, wo man anfangen soll, is das gar ned so einfach

ich hab jetzt die backup.sql, allerdings 0 byte groß

im Ausführungsergebnis zeigt er mir folgendes an, evtl. kann ich das auch ignorieren?
pg_dump: error: connection to database "paperless" failed: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "root" does not exist
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154

Sabine_14

Benutzer
Mitglied seit
02. Okt 2023
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
ich bin Dir sehr dankbar für Deine Unterstützung

mein Befehl schaut folgendermaßen aus: /paperless/local/bin/docker exec paperless-ngx-db-1 pg_dump -c paperless > /volume1/docker/paperless-ngx/backup.sql
ist das korrekt jetzt?

Fehlermeldung im Ausführungsergebnis:
/bin/bash: /paperless/local/bin/docker: No such file or directory
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Äh neee....
Bash:
/usr/local/bin/docker exec paperless-ngx-db-1 pg_dump -U paperless -c paperless > /volume1/docker/paperless-ngx/backup.sql
 

Sabine_14

Benutzer
Mitglied seit
02. Okt 2023
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
oje...herzlichen Dank für Deine Hilfe.

Und das backup der Datenbank ist jetzt ausreichend? Wie könnte ich das wiederherstellen?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Das Backup nennt man in dem Fall einen "Dump". Mit dem Dump kannst du die Tags und Zuordnungen der Dokumente wiederherstellen. Diesen Dump sicherst du gemeinsam mit "/volume1/docker/paperless-ngx" via Hyper Backup weg. Wie das Wiedereinspielen in eine postgres Datenbank funktioniert, kann ich dir leider nicht sagen, da ich stattdessen eine mariadb nutze. Sollte aber nicht sehr schwer sein.
Ich empfehle dir, das Ganze einmal mit einem Testsystem durchzuspielen (Sicherung & Restore). Ansonsten siehst du im Problemfall alt aus

EDIT: Wie der Dump wiedereingespielt werden kann, hat @alexhell bereits verlinkt. Hier der genaue Punkt: https://www.postgresql.org/docs/16/backup.html
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Der genaue Befehle wäre:
Code:
/usr/local/bin/docker exec paperless-ngx-db-1 psql -U paperless -d paperless < /volume1/docker/paperless-ngx/backup.sql

Ich empfehle dir, das Ganze einmal mit einem Testsystem durchzuspielen (Sicherung & Restore). Ansonsten siehst du im Problemfall alt aus
Das würde ich dir auch empfehlen. Das ist immer gut, wenn man es schon mal gemacht hat
 

vmoench

Benutzer
Mitglied seit
03. Apr 2016
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Was ich noch nicht verstehe:
Der document_exporter gibt mir zu jedem Dokument das Originalfile, das Archivfile und die Thumbnail aus.

Und das verstehe ich nicht: Mir wurden nur die Originalfiles gesichert. Ich muss nach document_importer alle Archiv- und Thumbnails neu erzeugen lassen. Was wegen erneutem OCR fast einen Tag gedauert hat.

Würde mich über einen Tipp dazu freuen, was ich evtl. falsch gemacht habe. Mein Kommando war schlicht
docker exec paperless document_exporter ../export

Aktuell sichere ich per Aufgabenplaner und bash-Script mit

docker exec paperless document_exporter ../export -c -nt -na -z --delete --no-progress-bar
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.211
Punkte für Reaktionen
1.034
Punkte
224
Warum sicher du nicht einfach die Ordner per Hyper Backup o. ä.?
 

vmoench

Benutzer
Mitglied seit
03. Apr 2016
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Ich habe es gerne so wie vom Entwickler empfohlen. Und Paperless hat sich mit dem document_exporter sicher was gedacht. Aber natürlich hast du recht, und ich kann es auf die einfache Tour erledigen. Ich probiere das mal aus, also nur \thumbnail und \archive zusätzlich im Skript zu sichern.
 
Zuletzt bearbeitet von einem Moderator:

axler

Benutzer
Mitglied seit
13. Feb 2023
Beiträge
29
Punkte für Reaktionen
4
Punkte
3
Und das verstehe ich nicht: Mir wurden nur die Originalfiles gesichert. Ich muss nach document_importer alle Archiv- und Thumbnails neu erzeugen lassen. Was wegen erneutem OCR fast einen Tag gedauert hat.

Würde mich über einen Tipp dazu freuen, was ich evtl. falsch gemacht habe. Mein Kommando war schlicht
docker exec paperless document_exporter ../export

Aktuell sichere ich per Aufgabenplaner und bash-Script mit

docker exec paperless document_exporter ../export -c -nt -na -z --delete --no-progress-bar
Hi, falls dir das irgendwie hilft. Mein Skript sieht folgendermaßen aus:

Code:
#!/bin/bash

# Datenbankdump

# Pfad für den Datenbankdump
dump_pfad="/volume1/docker/Paperless-ngx/db_dump/"

# Schritt 1: Lösche Dateien, die älter als 28 Tage sind, im angegebenen Verzeichnis.
find "$dump_pfad" -mtime +28 -delete

# Schritt 2: Führe den PostgreSQL-Datenbankdump-Befehl aus und speichere ihn im angegebenen Pfad.
docker exec -i paperless-ngx-db-1 pg_dump -U paperless -d paperless > "${dump_pfad}$(date +%F_%a_%T_%Z)_backup.sql"

# Dokumentenexport

# Verzeichnis, aus dem das Backup ausgeführt werden soll
backup_dir="/volume1/Data/#recycle/test/compose/5"

# Name des Docker-Containers
container_name="paperless-ngx-webserver-1"

# Ausführendes Programm
program="document_exporter"

# Zielverzeichnis im Host, in das exportiert werden soll
source_dir="../export"

# Wechsel in das Verzeichnis
cd $backup_dir

# Führen Sie den Befehl im Docker-Container aus
sudo docker exec $container_name $program $source_dir -d
 


 

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