Kapitel 13/Tutorial.md aktualisiert
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user