From 8464a7730d4214fb22374bbac5d71c64073307fe Mon Sep 17 00:00:00 2001 From: Thomas Dannenberg Date: Tue, 23 Sep 2025 17:49:31 +0000 Subject: [PATCH] Kapitel 13/Tutorial.md aktualisiert --- Kapitel 13/Tutorial.md | 47 +++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/Kapitel 13/Tutorial.md b/Kapitel 13/Tutorial.md index 481f153..45e18bb 100644 --- a/Kapitel 13/Tutorial.md +++ b/Kapitel 13/Tutorial.md @@ -604,58 +604,77 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d ```bash #!/usr/bin/env bash -# /usr/local/bin/clipper_cleanup.sh -# Automatisiertes Aufräumen und Archivieren für Clipper-Workflow +# /srv/clipper/bin/cleanup +# Clipper-Cleanup: Archiviert VODs, lädt sie via SFTP hoch und räumt alte Daten auf set -euo pipefail -# ---- .env laden ---- +# ------------------------------- +# .env einbinden +# ------------------------------- ENV_FILE="/etc/clipper.env" [[ -f "$ENV_FILE" ]] || { echo "❌ .env fehlt: $ENV_FILE" >&2; exit 1; } # shellcheck disable=SC1090 source "$ENV_FILE" -# ---- Logging einrichten ---- +# TMP → konsistente Benennung +CLIPPER_TEMP="${CLIPPER_TMP:?CLIPPER_TMP fehlt in .env}" + +# ------------------------------- +# Logging vorbereiten +# ------------------------------- TODAY="$(date +%F)" LOGFILE="${CLIPPER_LOG}/clipper_cleanup_${TODAY}.log" exec > >(tee -a "$LOGFILE") 2>&1 -echo "===== Starte Cleanup: $TODAY =====" +echo "===== 🧹 Starte Cleanup: $TODAY =====" -# ---- OUT-Verzeichnis verarbeiten ---- +# ------------------------------- +# Alle VOD-Ordner in OUT verarbeiten +# ------------------------------- for VOD_DIR in "${CLIPPER_OUT}"/*/; do [[ -d "$VOD_DIR" ]] || continue - VOD_ID=$(basename "$VOD_DIR") + VOD_ID="$(basename "$VOD_DIR")" ARCHIVE_PATH="${CLIPPER_OUT}/${VOD_ID}.tar.gz" echo "📦 Erstelle Archiv für VOD: $VOD_ID" tar -czf "$ARCHIVE_PATH" -C "$CLIPPER_OUT" "$VOD_ID" - echo "🔼 SFTP-Upload: ${ARCHIVE_PATH} → ${SFTP_DROP_BASE}/${VOD_ID}.tar.gz" + echo "🔼 Lade Archiv nach NC (SFTP): ${ARCHIVE_PATH} → ${SFTP_DROP_BASE}/${VOD_ID}.tar.gz" sftp -i "$SFTP_KEY" -P "$SFTP_PORT" -oStrictHostKeyChecking=no "$SFTP_USER@$SFTP_HOST" </bin/cleanup + chown clipper:clipper /bin/cleanup + ``` + 8.3 **Finalize-Skript auf dem Nextcloud-Host** Nachdem der Clipper die VOD-Datei in die Drop-Zone incoming/ hochgeladen hat, müssen wir diese Dateien an den endgültigen Platz in Nextcloud verschieben. Nur so erscheinen sie auch im Web-Interface. Genau dafür legen wir jetzt ein Skript an, das automatisch aufgerufen werden kann.