Kapitel 13/Tutorial.md aktualisiert

This commit is contained in:
2025-09-23 17:36:36 +00:00
parent de45e91097
commit a11de5efe2

View File

@@ -598,6 +598,65 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d
> [!NOTE]
> Pro VOD entsteht ein Logfile in `<clipper-ordner>/logs/<ID>.log`. Du kannst es live mit `tail -f <clipper-ordner>/logs/<ID>.log` verfolgen.
Wer aufmerksam gelesn hat, stellt fest, das dieses Skript nur die halbe MIete ist. Warum machen wird das? Gaz einfach. Im weiteren Verlauf werden wir ein wenig mit den VODs und Clips arbeiten. Wenn wir sie direkt in unserer Nextcloud ablegen würden, müssten wir sie umstänfdlich wieder zurück laden.
Also legen wir mit ``nano /srv/clipper/bin/cleanup``an und füllen die Datei mit:
```bash
#!/usr/bin/env bash
# /usr/local/bin/clipper_cleanup.sh
# Automatisiertes Aufräumen und Archivieren für Clipper-Workflow
set -euo pipefail
# ---- .env laden ----
ENV_FILE="/etc/clipper.env"
[[ -f "$ENV_FILE" ]] || { echo "❌ .env fehlt: $ENV_FILE" >&2; exit 1; }
# shellcheck disable=SC1090
source "$ENV_FILE"
# ---- Logging einrichten ----
TODAY="$(date +%F)"
LOGFILE="${CLIPPER_LOG}/clipper_cleanup_${TODAY}.log"
exec > >(tee -a "$LOGFILE") 2>&1
echo "===== Starte Cleanup: $TODAY ====="
# ---- OUT-Verzeichnis verarbeiten ----
for VOD_DIR in "${CLIPPER_OUT}"/*/; do
[[ -d "$VOD_DIR" ]] || continue
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"
sftp -i "$SFTP_KEY" -P "$SFTP_PORT" -oStrictHostKeyChecking=no "$SFTP_USER@$SFTP_HOST" <<EOF
put "$ARCHIVE_PATH" "${SFTP_DROP_BASE}/${VOD_ID}.tar.gz"
EOF
echo "🧹 Lösche OUT-Ordner: $VOD_DIR"
rm -rf "$VOD_DIR"
TEMP_DIR="${CLIPPER_TMP}/${VOD_ID}"
if [[ -d "$TEMP_DIR" ]]; then
echo "🧹 Lösche TEMP-Ordner: $TEMP_DIR"
rm -rf "$TEMP_DIR"
fi
echo "✅ Fertig: $VOD_ID"
done
# ---- Alte Logs löschen ----
echo "🧹 Lösche LOG-Dateien älter als 30 Tage: $CLIPPER_LOG"
find "$CLIPPER_LOG" -type f -name "clipper_cleanup_*.log" -mtime +30 -print -delete
echo "🎉 Cleanup abgeschlossen: $TODAY"
```
8.3 **Finalize-Skript auf dem Nextcloud-Host**
Nachdem der Clipper die VOD-Datei in die Drop-Zone incoming/<VOD_ID> 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.