Du betrachtest gerade Paperless Backup automatisch unter Docker

Paperless Backup automatisch unter Docker

In der heutigen digitalen Welt musst du dich immer mehr auf Tools wie Paperless-NGX verlassen. Hier die Paperless Backup automatisch Lösung!

In diesem Beitrag zeige ich dir, wie du eine robuste Backup-Strategie für dein Paperless-NGX-System umsetzt – von der richtigen Konfiguration der Backup-Datei bis zur automatisierten Ausführung.

Beachte: Es geht um deine Unterlagen, Dokumente, Buchhaltung, Steuerdaten und alle anderen wichtigen Informationen, die du in Paperless sicherst.
Vergiss nie: Eine Festplatte kann kaputtgehen – durch Wasserschaden, Feuer, Einbruch oder sogar einen Blitzeinschlag.
Wenn du deine Daten behalten willst – weil du darauf angewiesen bist – sichere sie regelmäßig!
Verlorene Daten sind unwiderruflich verloren.


Weitere Artikel dieser Beitragsserie:

Video: Paperless Backup automatisch unter Docker

Sprache: 🇩🇪
☝️ Benutze YouTube Untertitel für alle Sprachen.

Schritt 1: Das Herzstück des Backups – Die Batch-Datei

Paperless-NGX speichert deine Daten an zwei entscheidenden Orten: in einer PostgreSQL-Datenbank (für Metadaten wie Titel, Tags und Korrespondenten) und im media-Verzeichnis (für die eigentlichen Dokumentdateien). Um ein vollständiges Backup zu erstellen, müssen beide Komponenten gesichert werden.

Hier ist eine verbesserte Version eines Backup-Skripts, das diese Aufgabe übernimmt. Kopiere den folgenden Code in einen Texteditor und speichere ihn als Backup Paperless.bat.

@echo off
setlocal enabledelayedexpansion

:: Aktuelles Datum im Format YYYY-MM-DD
for /f "tokens=2 delims==" %%I in ('"wmic os get localdatetime /value | findstr ="') do set dt=%%I
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "DATE=%YYYY%-%MM%-%DD%"

:: Zielverzeichnis für Backups
:: HINWEIS: Pass den Pfad an deine Konfiguration an!
set "BACKUP_DIR=D:\Paperless_Backups"

:: Pfad zum Media-Verzeichnis von Paperless
:: HINWEIS: Pass den Pfad an deine Konfiguration an!
set "MEDIA_DIR=C:\Ihr\Pfad\zu\paperless\media"

:: Sicherstellen, dass die Zielordner existieren
if not exist "%BACKUP_DIR%\db" (
    mkdir "%BACKUP_DIR%\db"
)
if not exist "%BACKUP_DIR%\media" (
    mkdir "%BACKUP_DIR%\media"
)

echo Starte PostgreSQL-Backup...
:: HINWEIS: Ersetze den Containernamen durch deinen tatsächlichen Namen (z.B. paperless-ngx_db_1)
docker exec paperless-dbpg pg_dumpall -U paperless --encoding=UTF8 > "%BACKUP_DIR%\db\paperless_db_%DATE%.sql"

echo Starte Medien-Backup...
:: Erstellt ein komprimiertes TAR-Archiv des gesamten Media-Verzeichnisses
tar -czf "%BACKUP_DIR%\media\paperless_media_%DATE%.tar.gz" -C "%MEDIA_DIR%" .

:: --- Nur DREI Versionen behalten ---
echo Entferne alte Backups...
echo ...PostgreSQL-Backups
for /f "skip=3 delims=" %%F in ('dir /b /o-d "%BACKUP_DIR%\db\paperless_db_*.sql"') do (
    echo Lösche %%F
    del "%BACKUP_DIR%\db\%%F"
)

echo ...Medien-Backups
for /f "skip=3 delims=" %%F in ('dir /b /o-d "%BACKUP_DIR%\media\paperless_media_*.tar.gz"') do (
    echo Lösche %%F
    del "%BACKUP_DIR%\media\%%F"
)

echo Backup abgeschlossen: %DATE%.

Wichtige Anpassungen, die du vornehmen musst:

  • set "BACKUP_DIR=...": Lege hier den Pfad fest, auf dem die Backups gespeichert werden sollen. Ein externes Laufwerk oder ein Netzwerkpfad ist ideal.
  • set "MEDIA_DIR=...": Gib den absoluten Pfad zu deinem media-Ordner an, den du in deiner docker-compose.yml konfiguriert hast.
  • docker exec ...: Ersetze paperless-dbpg durch den korrekten Namen deines PostgreSQL-Containers. Diesen findest du, indem du den Befehl docker ps in deiner Kommandozeile ausführst.

Schritt 2: Automatische Sicherung mit dem Windows Aufgabenplaner

Manuelle Backups werden oft vergessen. Die Lösung ist die Automatisierung! Mit dem Windows Aufgabenplaner kannst du dein Backup-Skript automatisch nach einem von dir festgelegten Zeitplan ausführen lassen.

So richtest du die Aufgabe ein:

  1. Öffne den Aufgabenplaner: Suche im Startmenü nach „Aufgabenplaner“ und öffne die Anwendung.
  2. Neue Aufgabe erstellen: Klicke im Menü auf Aktion > Einfache Aufgabe erstellen…
  3. Gib der Aufgabe einen Namen und eine Beschreibung: Wähle einen aussagekräftigen Namen wie „Paperless-NGX Backup“ und eine kurze Beschreibung.
  4. Wähle den Zeitplan:
    • Trigger (Auslöser): Wähle, wann die Aufgabe gestartet werden soll. „Täglich“ ist eine gute Wahl für regelmäßige Backups.
    • Zeit: Lege eine Uhrzeit fest, zu der dein Computer eingeschaltet ist, aber du das System nicht aktiv nutzt (z.B. 02:00 Uhr nachts).
  5. Aktion:
    • Wähle „Programm starten“.
    • Bei „Programm/Skript“ gib den vollständigen Pfad zu deiner Backup Paperless.bat Datei ein (z.B. C:\Users\DeinName\Scripts\Backup Paperless.bat).
    • Wichtig: Gib im Feld „Starten in“ das Verzeichnis ein, in dem sich die Batch-Datei befindet (z.B. C:\Users\DeinName\Scripts).
  6. Fertigstellen: Klicke auf „Fertig stellen“, um die Aufgabe zu speichern.

Ab sofort wird dein Backup-Skript automatisch zu den festgelegten Zeiten ausgeführt. Mit dieser einfachen, aber effektiven Methode hast du eine zuverlässige Datensicherung implementiert, die das Risiko von Datenverlusten minimiert.

Link zur Unterstützung / Spende für denn Kanal
PayPal Link
Überweisung, Bitcoin und Lightning

#PaperlessNGX #Docker #DokumentenManagement #SelfHosted #OpenSource #Papierlos #Homelab #DMS #Paperless #Anleitung #PapperlessBackup #DocumentManagement #Paperless #HomeLab #Instructions #Guide #Backup

Schreibe einen Kommentar