From d75b5022f22e4b67b47f20f382996919a91abc2e Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Sat, 6 Sep 2025 19:25:41 +0000 Subject: [PATCH] Kapitel 13/Tutorial.md aktualisiert --- Kapitel 13/Tutorial.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Kapitel 13/Tutorial.md b/Kapitel 13/Tutorial.md index a436f4e..4375f5c 100644 --- a/Kapitel 13/Tutorial.md +++ b/Kapitel 13/Tutorial.md @@ -693,8 +693,9 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d Inhalt: ```bash - # /usr/local/bin/nc_finalize_vod.sh #!/usr/bin/env bash + # /usr/local/bin/nc_finalize_vod.sh + set -euo pipefail CONF="/etc/nc_uploader.conf" @@ -718,9 +719,9 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d SCAN_PATH="${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}" # ---- Vorbedingungen prüfen (wir legen KEINE Benutzerstruktur an!) - [[ -d "$NC_DATA" ]] || { echo "NC_DATA nicht gefunden: $NC_DATA" >&2; exit 2; } - [[ -d "$DST_BASE" ]] || { echo "Benutzerdateien fehlen: $DST_BASE (stimmt NC_USER/NC_DATA?)" >&2; exit 3; } - [[ -d "$SRC_DIR" ]] || { echo "Drop-Ordner fehlt: $SRC_DIR" >&2; exit 4; } + [[ -d "$NC_DATA" ]] || { echo "NC_DATA nicht gefunden: $NC_DATA" >&2; exit 2; } + [[ -d "$DST_BASE" ]] || { echo "Benutzerdateien fehlen: $DST_BASE (stimmt NC_USER/NC_DATA?)" >&2; exit 3; } + [[ -d "$SRC_DIR" ]] || { echo "Drop-Ordner fehlt: $SRC_DIR" >&2; exit 4; } # ---- Ziel-Unterordner anlegen (falls nicht vorhanden) mkdir -p "$DST_DIR" @@ -732,7 +733,7 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d had_files=true mv -f "$f" "$DST_DIR/" done - # leeren Drop-Ordner entfernen (optional) + # Leeren Drop-Ordner entfernen (optional) rmdir "$SRC_DIR" 2>/dev/null || true shopt -u nullglob dotglob @@ -747,8 +748,13 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d # ---- Index nur für diesen Pfad aktualisieren sudo -u www-data "$PHP" "$OCC" files:scan --path="$SCAN_PATH" --quiet + # ---- Übrig gebliebene .lock-Dateien entfernen (z. B. durch Abbrüche bei Upload) + find "$DROP_BASE" -type f -name "*.lock" -delete 2>/dev/null || true + + # ---- Erfolgsmeldung echo "OK: $(printf '%s\n' "$DST_DIR")" + ``` Wie zuvor auch, müssen wir die Rechte korrekt setzen, damit alles reibungslos funktioniert. Gebe dazu in der Konsole