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:
- Paperless: Warum Dokumentenmanagement und Leistungsumpfang
- Paperless: NGX Docker installation
- Paperless: Dokumente Hinzufügen Grundlagen
- Paperless: Anpassen und Optimieren
- Paperless: Internetfreigabe Kompendium
- Paperless: Apps für Unterwegs
- Paperless Backup automatisch unter Docker
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 deinemmedia
-Ordner an, den du in deinerdocker-compose.yml
konfiguriert hast.docker exec ...
: Ersetzepaperless-dbpg
durch den korrekten Namen deines PostgreSQL-Containers. Diesen findest du, indem du den Befehldocker 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:
- Öffne den Aufgabenplaner: Suche im Startmenü nach „Aufgabenplaner“ und öffne die Anwendung.
- Neue Aufgabe erstellen: Klicke im Menü auf Aktion > Einfache Aufgabe erstellen…
- Gib der Aufgabe einen Namen und eine Beschreibung: Wähle einen aussagekräftigen Namen wie „Paperless-NGX Backup“ und eine kurze Beschreibung.
- 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).
- 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
).
- 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