sabnzbd/usenet-scripts/movetdarr.sh

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