3.4 KiB
Paperless-ngx-Backup von TrueNAS auf macOS
Das Script ist fuer die auf bfds erkannte Installation vorbereitet:
- TrueNAS 25.04.2.6
- TrueNAS-App
paperless-ngx1.6.37 - Paperless-ngx 3.0.2
- Container
ix-paperless-ngx-paperless-1
Es pflegt einen dauerhaften Paperless-Export und synchronisiert ihn ungezippt auf den Mac. Nach dem ersten vollstaendigen Lauf werden nur neue, geaenderte oder geloeschte Dateien abgeglichen. Es entstehen keine Archive und keine taeglichen Vollkopien.
Der lokale Stand befindet sich hier:
~/Backups/paperless-ngx/current/
├── backup-info.txt
├── paperless-export/
│ ├── manifest.json
│ ├── metadata.json
│ ├── archive/
│ ├── originals/
│ └── thumbnails/
└── truenas-app-config/
paperless-export enthaelt Dokumente, Thumbnails, Metadaten, Benutzer und die
exportierten Datenbankinhalte. truenas-app-config enthaelt zusaetzlich die
TrueNAS-App-Einstellungen und die Konfiguration frueherer App-Versionen.
Testen und ausfuehren
./backup-paperless-ngx.sh --check
./backup-paperless-ngx.sh
--check prueft SSH, Container und Mounts. Ausserdem wird ein kleiner
temporaerer document_exporter --data-only-Lauf ausgefuehrt und dessen
Manifest kontrolliert. Der Testexport wird sofort wieder entfernt.
Alle Werte lassen sich ueber ~/.config/paperless-backup/config aendern;
siehe config.example. Voraussetzung ist, dass
ssh -o BatchMode=yes bfds true ohne Passwortdialog funktioniert.
Taeglich um 03:00 Uhr ausfuehren
./install-launchagent.sh
Der Installer kopiert das Script nach
~/Library/Application Support/PaperlessBackup, legt bei Bedarf die
Konfiguration an und registriert einen LaunchAgent. Ein manueller Lauf des
installierten Jobs ist mit folgendem Befehl moeglich:
launchctl kickstart -k gui/$(id -u)/de.rob.paperless-ngx-backup
Logs stehen in ~/Library/Logs/paperless-ngx-backup.log sowie in den beiden
paperless-ngx-launchd.*.log-Dateien.
Wiederherstellung
- Eine frische Paperless-Instanz mit derselben Paperless-Version wie in
backup-info.txtbereitstellen. - Den Inhalt von
current/paperless-exportin das Export-Volume der neuen Instanz kopieren und dortdocument_importerausfuehren. current/truenas-app-configdient als Referenz fuer Ports, Storage, Umgebungswerte und Secrets. Diese Dateien nicht blind in eine laufende TrueNAS-App zurueckkopieren.
Der Paperless-Exporter sichert keine API-Tokens; sie muessen nach einem Import neu erzeugt werden.
Verhalten und Sicherheit
Das ist ein Spiegel des aktuellen Paperless-Stands. Wird ein Dokument in Paperless geloescht, wird es beim naechsten erfolgreichen Lauf auch aus diesem Export entfernt. Fuer historische Staende sollte der Ordner zusaetzlich durch Time Machine oder ein anderes versionierendes Backup gesichert werden.
Der Export enthaelt alle Dokumente und moegliche Klartext-Secrets aus der TrueNAS-App-Konfiguration. Das uebergeordnete Zielverzeichnis ist nur fuer den aktuellen macOS-Benutzer zugaenglich. FileVault sollte aktiviert sein.
Auf dem TrueNAS-Apps-Pool bleibt ebenfalls ein ungezipptes Exportverzeichnis
macos-backup-current bestehen. Es wird von Paperless bei jedem Lauf
inkrementell aktualisiert.
Bereits mit einer aelteren Scriptversion erzeugte .tar.gz-Archive werden
nicht automatisch geloescht. Sie koennen nach erfolgreicher Kontrolle des
neuen current-Ordners manuell entfernt werden.