Robuste Darktable-Synchronisation: sequenzieller Ablauf, Versions- und Concurrent-Schutz
- Race Condition behoben: Pre-Sync wird vollstaendig abgewartet bevor Darktable startet - Post-Sync nach Schliessen von Darktable eingefuehrt (bisher fehlend) - .env aus festem Pfad ~/.config/darktable-sync/.env geladen (nicht mehr relativ) - Server-Erreichbarkeit per SSH statt ping (Firewall-sicher) - Darktable-Versionscheck (Major.Minor) vor Download mit Abbruch bei Konflikt - DB-Backup vor jedem Download (library.db.bak, data.db.bak) - sync_pending-Marker bei Offline/Fehler, Hinweis beim naechsten Start - darktable.active-Marker auf Server fuer Concurrent-Erkennung - Lock-Dateien vom Sync ausgeschlossen - systemd-Timer entfernt, Service bleibt als manueller Trigger - Gemeinsame Hilfsfunktionen in darktable_common.sh extrahiert - 20 BATS-Tests mit vollstaendigem Stub-System ohne GUI-Dialoge Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+15
-6
@@ -1,13 +1,22 @@
|
||||
# Server Connection Settings
|
||||
SERVER_USER="your_nas_user"
|
||||
# Konfiguration fuer darktable-sync
|
||||
# Vorlage nach ~/.config/darktable-sync/.env kopieren:
|
||||
# cp .env.example ~/.config/darktable-sync/.env
|
||||
# chmod 600 ~/.config/darktable-sync/.env
|
||||
|
||||
# Server-Verbindung
|
||||
SERVER_USER="your_server_user"
|
||||
SERVER_SSH_PORT=22
|
||||
SERVER_IP="192.168.1.100"
|
||||
|
||||
# Server Paths
|
||||
SERVER_DB_DIR="/path/on/nas/darktable_db"
|
||||
SERVER_PHOTO_DIR="/path/on/nas/photo_library"
|
||||
# Pfade auf dem Server
|
||||
SERVER_DB_DIR="/path/on/server/darktable_db"
|
||||
SERVER_PHOTO_DIR="/path/on/server/photo_library"
|
||||
|
||||
# Local Paths
|
||||
# Lokale Pfade
|
||||
LOCAL_PHOTO_DIR="$HOME/Pictures/raw"
|
||||
LOCAL_DARKTABLE_DB_DIR="$HOME/.config/darktable"
|
||||
BIN_DIR="$HOME/.local/bin"
|
||||
|
||||
# Aufrufpfade (normalerweise nicht aendern)
|
||||
DARKTABLE_BIN="darktable"
|
||||
SYNC_BIN="$HOME/.local/bin/darktable_sync.sh"
|
||||
|
||||
Reference in New Issue
Block a user