Kapitel 13/Tutorial.md aktualisiert
This commit is contained in:
@@ -775,33 +775,52 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d
|
|||||||
source "$CONF"
|
source "$CONF"
|
||||||
|
|
||||||
VOD_ID="${1:?need VOD id}"
|
VOD_ID="${1:?need VOD id}"
|
||||||
FILE_BASENAME="${2:-${VOD_ID}.mp4}"
|
|
||||||
|
# ---- Eingaben & Pfade
|
||||||
|
DROP_BASE="${DROP_BASE:?DROP_BASE fehlt in Config}"
|
||||||
|
NC_DATA="${NC_DATA:?NC_DATA fehlt in Config}"
|
||||||
|
NC_USER="${NC_USER:?NC_USER fehlt in Config}"
|
||||||
|
NC_TARGET_SUBPATH="${NC_TARGET_SUBPATH:?NC_TARGET_SUBPATH fehlt in Config}"
|
||||||
|
PHP="${PHP:-/usr/bin/php}"
|
||||||
|
OCC="${OCC:-/var/www/nextcloud/occ}"
|
||||||
|
|
||||||
SRC_DIR="${DROP_BASE}/${VOD_ID}"
|
SRC_DIR="${DROP_BASE}/${VOD_ID}"
|
||||||
SRC_FILE="${SRC_DIR}/${FILE_BASENAME}"
|
DST_BASE="${NC_DATA}/${NC_USER}/files"
|
||||||
DST_DIR="${NC_DATA}/${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}"
|
DST_DIR="${DST_BASE}/${NC_TARGET_SUBPATH}/${VOD_ID}"
|
||||||
SCAN_PATH="${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}"
|
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; }
|
||||||
|
|
||||||
|
# ---- Ziel-Unterordner anlegen (falls nicht vorhanden)
|
||||||
mkdir -p "$DST_DIR"
|
mkdir -p "$DST_DIR"
|
||||||
|
|
||||||
if [[ -d "$SRC_DIR" ]]; then
|
# ---- Dateien/Ordner verschieben
|
||||||
# kompletter VOD-Ordner vorhanden → verschiebe Inhalt (oder Ordner, falls leer)
|
|
||||||
shopt -s nullglob dotglob
|
shopt -s nullglob dotglob
|
||||||
if compgen -G "${SRC_DIR}/*" > /dev/null; then
|
had_files=false
|
||||||
mv -f "${SRC_DIR}/"* "$DST_DIR"/
|
for f in "${SRC_DIR}/"*; do
|
||||||
fi
|
had_files=true
|
||||||
|
mv -f "$f" "$DST_DIR/"
|
||||||
|
done
|
||||||
|
# leeren Drop-Ordner entfernen (optional)
|
||||||
rmdir "$SRC_DIR" 2>/dev/null || true
|
rmdir "$SRC_DIR" 2>/dev/null || true
|
||||||
elif [[ -f "$SRC_FILE" ]]; then
|
shopt -u nullglob dotglob
|
||||||
mv -f "$SRC_FILE" "$DST_DIR"/
|
|
||||||
else
|
if [[ "$had_files" = false ]]; then
|
||||||
echo "Quelle nicht gefunden: $SRC_DIR oder $SRC_FILE" >&2
|
echo "Keine Dateien in Drop-Ordner: ${SRC_DIR}" >&2
|
||||||
exit 2
|
exit 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ---- Rechte setzen wie von Nextcloud erwartet
|
||||||
chown -R www-data:www-data "$DST_DIR"
|
chown -R www-data:www-data "$DST_DIR"
|
||||||
|
|
||||||
|
# ---- Index nur für diesen Pfad aktualisieren
|
||||||
"$PHP" "$OCC" files:scan --path="$SCAN_PATH" --quiet
|
"$PHP" "$OCC" files:scan --path="$SCAN_PATH" --quiet
|
||||||
|
|
||||||
echo "OK: ${DST_DIR}"
|
echo "OK: $(printf '%s\n' "$DST_DIR")"
|
||||||
|
|
||||||
```
|
```
|
||||||
Wie zuvor auch, müssen wir die Rechte korrekt setzen, damit alles reibungslos funktioniert.
|
Wie zuvor auch, müssen wir die Rechte korrekt setzen, damit alles reibungslos funktioniert.
|
||||||
Gebe dazu in der Konsole
|
Gebe dazu in der Konsole
|
||||||
|
|||||||
Reference in New Issue
Block a user