55 lines
No EOL
1.6 KiB
Bash
55 lines
No EOL
1.6 KiB
Bash
#!/bin/bash
|
|
# movetdarr.sh v2 — SABnzbd PostProcessing: Download -> FileFlows-Eingang (/tdarr/complete)
|
|
# Fixes 05.09.2026:
|
|
# - Vor dem mv: bestehendes Zielverzeichnis ohne Video-Datei (FileFlows-Leichen) wird entfernt
|
|
# - Fehler beim mv werden GEMELDET (exit 1) statt still zu scheitern
|
|
# - Ziel mit existierender Video-Datei: Download behalten + WARNUNG (kein Datenverlust)
|
|
DIR="$1"
|
|
CATEGORY="$5"
|
|
STATUS="$7"
|
|
|
|
LOGFILE="/usenet/scripts/postprocess.log"
|
|
log() { echo "$(date '+%d.%m.%Y %H:%M:%S'): $1" >> "$LOGFILE"; }
|
|
|
|
log "Start - Kategorie=$CATEGORY Status=$STATUS Dir=$DIR"
|
|
|
|
if [ "$STATUS" != "0" ]; then
|
|
log "Download fehlgeschlagen, ueberspringe"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "$DIR" ]; then
|
|
log "Quellverzeichnis existiert nicht: $DIR"
|
|
exit 1
|
|
fi
|
|
|
|
DEST="/tdarr/complete/${CATEGORY}"
|
|
BASENAME="$(basename "$DIR")"
|
|
TARGET="$DEST/$BASENAME"
|
|
|
|
mkdir -p "$DEST"
|
|
|
|
# Leichen-Handling: existiert das Ziel schon?
|
|
if [ -d "$TARGET" ]; then
|
|
# Enthaelt es Video-Dateien?
|
|
if ls "$TARGET"/*.mkv "$TARGET"/*.mp4 "$TARGET"/*.avi >/dev/null 2>&1; then
|
|
log "WARNUNG: Ziel $TARGET enthaelt bereits Video-Dateien - NICHT ueberschrieben, Download bleibt in $DIR"
|
|
exit 2
|
|
fi
|
|
log "Entferne FileFlows-Restverzeichnis (keine Videos enthalten): $TARGET"
|
|
rm -rf "$TARGET"
|
|
if [ $? -ne 0 ]; then
|
|
log "FEHLER: konnte Restverzeichnis $TARGET nicht entfernen"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
mv "$DIR" "$DEST/"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
log "Erfolgreich verschoben nach $TARGET"
|
|
exit 0
|
|
else
|
|
log "FEHLER beim Verschieben nach $TARGET (Quelle bleibt: $DIR)"
|
|
exit 1
|
|
fi |