[TUT] PaperlessNGX Backup-Lösung (Automatisiert auf Externe Festplatte via Cronjob und Duplicati)

  • Chat GPT
    Yes

    Hallo Liebe Gemeinde,

    mit dieser Anleitung möchte ich euch helfen eine gute Möglichkeit PaperlesNGX per Cronjob und Duplicati zu sichern.


    Cronjob:
    unter Linux ist ein automatisch geplanter Task, der zu festgelegten Zeiten oder Intervallen ausgeführt wird.
    Er wird über den Dienst cron gesteuert und in der Datei crontab eingerichtet, z. B. um Backups, Skripte oder Wartungsaufgaben regelmäßig ohne manuelles Eingreifen zu starten.

    Duplicati:
    ist ein kostenloses Open-Source-Backup-Programm, mit dem du verschlüsselte, komprimierte und inkrementelle Backups auf verschiedene Ziele wie NAS, externe Festplatten, FTP-Server oder Cloud-Speicher erstellen kannst – alles über eine einfache Weboberfläche.

    • Der erste Schritt, wenn ihr Paperless aufgesetzt habt, ist Duplicati via Portainer zu installieren. Dafür gerne das Tutorial von eineb anschauen --> TUT

    BITTE ALLE PFADE UND "USER" ANPASSEN

    SSH Aktivieren

    als erstes schaltet ihr SSH beim NAS ein


    Es wird dann eine ".sh" Datei erstellt, die ihr am besten auf dem NAS speichert. Dafür habe ich als angemeldeter Admin, auf dem NAS einen Ordner im "Persönlichen Ordner" als Admin angelegt.
    (Diese ist dann eine Script Datei, die für das automatisieren verantwortlich ist, in Verbindung mit dem Cronjob)


    "/home/User/Backup/PaperlessNGX" das wäre der Pfad bei mir

    Ihr könnt auch gern gleich die anderen Ordner außer den "alt" Ordner anlegen

    • ebenso bitte auch diese Pfade auf der externen Platte anlegen

    Danach schaltet ihr euch per SSH Verbindung auf den NAS (ich bevorzuge Putty).

    in Putty tragt ihr eure IP vom NAS ein bei mir wäre das 192.168.178.220 und dann als Port die 22 wo ihr den Haken gesetzt habt und drück Open.

    nun meldet ihr euch mit eurem selbst angelegtem Admin an. (Euer NAS Admin)


    • anschließend wird nun ein Script via "nano" angelegt.

    bei Putty können dinge kopiert werden und mit "rechtsklick" eingefügt werden

    Code
    nano /home/USER/Backup/PaperlessNGX/backup_paperless.sh

    ist das erledigt sollte sich das Script öffnen.

    Bitte passt eure Pfade an. Falls ihr Schwierigkeiten habt, könnt ihr einfach meine .sh Datei bei ChatGPT einfügen und ihm sagen, was eure Pfade sind. Dann sollte er sie anpassen können.

    Vor allem Wichtig bei dem "USB_BACKUP_DIR="/mnt/@usb/sdc1/Backup/Paperless_zip"" je nach dem an welche Schnittstelle ihr eure Platte gehängt habt.

    • einfach auf den ordner rechtsklicken und den Pfad bei "Ort" kopieren und dann im script einfügen
    • macht das bitte in dem script für alle Pfade
    • ladet euch zur Not Notepad++ runter um den Text zu editieren (der markierte Teil)


    • danach können wir weiter machen
    • nachdem Ihr nun alles angepasst und eingefügt habt
    • drückt ihr STR + O --> ENTER Taste (ist ein O keine null)
    • zum speichern und dann STR + X zum schließen


    Anschließend machen wir das Script ausführbar.

    Code
    chmod +x /home/USER/Backup/PaperlessNGX/backup_paperless.sh
    • es wird nun .zip benötigt
    Code
    sudo apt update
    sudo apt install zip -y

    ich musste mehrere schritte durchführen das es richtig installiert wird. (kann sein, wenn ihr keine Meldung bekommt, das ihr nur den ersten befehl ausführen müsst)

    Code
    sudo apt --fix-broken install
    
    (optional)
    Code
    sudo apt install zip -y
    
    (optional)

    danach könnt ihr Probieren ob das Script geht

    Code
    /home/User/Backup/PaperlessNGX/backup_paperless.sh

    Wenn ihr alles richtig gemacht habt, und alles Fuktioniert könnt ihr in den angelegten Ordnern schauen ob nun alle Datein vorhanden sind.

    Wir sollten Folgendes erhalten

    in den "RAW" Ordnern sind die "Originals" als PDF mit eurer Struktur als .zip gespeichert. Einmal auf der Externen Platte und einmal in eurem /home Verzeichnis.

    und in den "_zip" Ordnern die export.zip Dateien, mit denen ihr Paperless auf einem anderen Docker Container widerherstellen könnt.

    Das alles wollen wir nun automatisieren. Ich habe es so schreiben lassen, das es jede Nacht um 02:00 Uhr passiert. Ebenso prüft das Script das nicht mehr als 30 Backups erstellt werden. und löscht nach 30 Tagen, dann immmer das Älteste.


    in Putty gebt ihr nun folgendes ein

    Code
    sudo crontab -e

    danach öffnet sich wieder ein Fesnter wo ihr folgendes eingebt

    Code
    0 2 * * * su - USER -c "/home/USER/Backup/PaperlessNGX/backup_paperless.sh >> /home/USER/Backup/PaperlessNGX/backup.log 2>&1"

    bei USER bitte wieder euren Admin name eingeben bei dem das Script schon liegt.



    • nachdem Ihr nun alles angepasst und eingefügt habt
    • drückt ihr STR + O --> ENTER Taste (ist ein O keine 0)
    • zum speichern und dann STR + X zum schließen


    Nun ist das Script fertig und es sollte nun jede Nacht um 02:00 Uhr alles automatisch ausführen.


    Mit Duplicati könnt ihr nun auch noch eine Absicherung erstellen und entweder die "export" Datei nur sichern oder einmal das ganze /home/User/Backup/PaperlessNGX verzeichnis.

    viel Spaß :)


    Edit:

    Bestes Video für eine Saubere Paperless Installation


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!