Backup Paperless NGX

Ich habe ein kleines Skript geschrieben, dass mir die Daten (PDF etc…) aus Paperless exportiert, packt und an einem anderen Ort kopiert. Backups älter als 100 Tage werden automatisch gelöscht.

Dieses Skript wird als Task im Aufgabenplaner gestartet. Nachfolgend nun das Skript:

cd /volume1/docker/paperless-ngx/config/
docker-compose exec webserver document_exporter ../export
zip -r /volume1/backup/PaperlessNGX/$(date +"%Y%m%d")_export.zip /volume1/docker/paperless-ngx/export
find /volume1/backup/PaperlessNGX/* -mtime +100 -exec rm {} \;

Die Pfade müssen natürlich an Eure Umgebung angepasst werden.

6 „Gefällt mir“

Hi,

vielen Dank, dass du das mit uns hier teilst! Ich packe es noch in Code-Blöcke, damit man es besser lesen kann (das ist das Symbol </> im Editor vom Forum).

Hallo CLupus1968,

vielen Dank für dein script.
Habe das getestet und funktioniert super!

Danke :slight_smile:

Gruß
Mario

Hat super funktioniert! Vielen Dank!

Hallo,
im Aufgabenmanager und per SSH bekomme ich folgenden Fehler:

Ordner und Berechtigungen und angelegt. Was mache ich falsch?

Gibt es den Pfad EXPORT bei dir?

Wenn ja, lass es mal mit sudo unter ssh laufen. Wenn das geht, dann musst du es für deinen User einrichten, dass er automatisch mit höheren Rechten läuft. Wie das geht, musst du googlen - habe ich auch gemacht, weiß aber nicht mehr wie, sorry.

Alternativ das Skript als ROOT laufen lassen.

Gibt es den Pfad EXPORT bei dir?

Wenn ja, lass es mal mit sudo unter ssh laufen. Wenn das geht, dann musst du es für deinen User einrichten, dass er automatisch mit höheren Rechten läuft. Wie das geht, musst du googlen - habe ich auch gemacht, weiß aber nicht mehr wie, sorry.

Alternativ das Skript als ROOT laufen lassen.

1 „Gefällt mir“

Danke! Mit root geht und es ist dazu noch Keysensitiv :slight_smile: Sehr schön.

Ich lass mein Backup der DB als zip exportieren. Wenn ich dann im Befehl -z UND -d verwende um alte Backups zu löschen klappt das nicht. Funktioniert -d nur bei Export der rohen Daten?

Guten Abend!
Ich habe im Aufgabenmanager ebenfalls diese Aufgabe eingetragen:

Bekomme im Ergebnis im Ordner EXPORT allerdings zwei Dateien:

output.log

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required

Und das script.log (wie oben).
Wo muss denn das Passwort eingetragen werden?

Grüße
VF

Hallo Verdi-Fan,
bzgl. Passwort, führe das Skript im Aufgabenplaner mal aus root aus.
Das kannst du auf der ersten Seite einstellen. Dann teste es nochmal.
Mit der Zip Datei habe ich keine Erfahrung.
Ich nutze es ohne -z

Ich nutze:

cd /volume1/docker/paperless-ngx/config
sudo docker-compose exec webserver document_exporter …/export -d

Hier werden die Daten aus dem Exportordner gelöscht und im Anschluss alle Daten von Paperless exportiert.
Vorteil, wenn Daten aus Paperless gelöscht werden befinden sich diese auch nicht mehr im Exportprdner.
D.h. Du hast immer nur die Dokumente im Exportordner die sich gerade tatsächlich als Dokumente in Paperless befinden.

Ich könnte mir vorstellen das es so mit .zip vielleicht so geht:

cd /volume1/docker/paperless-ngx/config
sudo docker-compose exec webserver document_exporter …/export -d -z

Zuerst -d und dann -z
Das ist aber nur eine Vermutung die du mal testen könntest. Vielleicht kennt sich hier jemand ja noch besser damit aus.
Wie gesagt, ich mache es ohne .zip.

Grüße

1 „Gefällt mir“

Ah … da wird der Hase im Pfeffer. Ich hatte es nicht auf „Root“ gestellt. Vielen Dank! Die anderen Hinweise werde ich ausprobieren, um zu schauen, was für mich am sinnvollsten ist.
Vielen Dank und gute Nacht!

Hallo zusammen,

nach bisheriger Nutzung von PNGX möchte ich nun eine neue Installation gemäß dem Kurs " Paperless-ngx auf Synology-NAS (Masterclass)" aufsetzen.
Im Kapitel „Einrichtung Synology-NAS/paperless-ngx installieren“ wird zu recht auf den Datenexport hingewiesen. Soweit alles verstanden.

Leider gibt es in meiner bisherigen Installation nicht den Ordner „config“, wo die „docker-compose.yml“ hinterlegt ist. Die Befehlausführung funktioniert ja nur dann, wenn ich mich im entsprechenden Ordner befinde.

Wechsle ich in diesen und führe den Export-Befehl entsprechend aus, kommt folgende Rückmeldung:

Uwe@UB-DS720:~$ cd /volume1/docker/portainer/compose/1/
Uwe@UB-DS720:/volume1/docker/portainer/compose/1$ sudo docker-compose exec -T webserver document_exporter ../export
Password:
service "webserver" is not running container #1
Uwe@UB-DS720:/volume1/docker/portainer/compose/1$ 

Ab hier bin ich lost, da ich ich nicht wirklich weiß, was ich mit dem Webserver anfangen soll.
Die Installation erfolgte über Portainer/Stack und schlussendlich sind im NAS-Containernmanager folgende Container am laufen:

Bevor ich mit der Installation fortfahre, möchte ich liebend gern meine ganzen Dokumente und Einstellungen sichern und hoffe hier hilfe zu finden!?

Danke vorab…

Du kannst mal probieren im Containermanager beim Paperless-Webserver-Container ein Terminal zu öffnen und dort den Befehl starten. Das dürfte eigentlich funktionieren - habs aber noch nicht getestet.

…danke für die schnelle Antwort.
Wie öffne ich ein Terminalfenster und soll darin der Exportbefehl gestartet werden?
Der Dienst „Webserver“ läuft doch, da grün angezeigt…

Terminalfenster öffnen habe ich gefunden, nun scheitert es an dem Befehl…

Ok. Habs gerade mal getestet. Funktioniert leider nicht über das Terminal von Paperless.
Aber: Du solltest eine docker-compose.yml /*.env haben. Evtl. befindet sie sich in deinem Paperless-Root. Dann kannst du mit SSH dich anmelden und von dort den Befehl starten.

Hab ich leider auch vergebens gesucht. Hätte die Version von mariushosting und da gab es keinen config Ordner.

Ich bin dann den aufwendigen weg gegangen und hab alle original runtergezogen und dann komplett alle ins neue system hochgeladen und wieder neu deklariert.

Nicht die beste Antwort auf deine Frage aber bevor durch dich weiter kaputt suchst vielleicht der sinnvollste Ansatz.

Habe unter Synology DMS FileStation alles unterhalb von „docker“ (incl. Unterordner) nach *.env abgesucht. Leider wird mir da keine Datei angezeigt.

Die „docker-compose.yml“ befindet sich unter:
image

…und von hier habe ich den Befehl bereits gestartet - siehe erster Post.
Dann gab es die Meldung "service „webserver" is not running container #1

…Danke Nico…
aber genau das wollte ich vermeiden! Aktuell über 500 Dokumente, unzählige Korrespondenten, Pfade, Tags…

Es muss doch eine vernünftige Lösung geben!?

Die Befehle müssen in dem Ordner ausgeführt werden, in denen auch die docker-compose.yml liegt. Ich selbst habe das in „meinem“ Profil in den config-Ordner gepackt (auch die .env und docker-compose.env), um es übersichtlicher zu haben.