Initial commit
This commit is contained in:
55
shell_jellyfin_unused_trickplay_delete.sh
Executable file
55
shell_jellyfin_unused_trickplay_delete.sh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Konfiguration
|
||||||
|
dry_run=true # Setze auf "false", um Ordner tatsächlich zu löschen
|
||||||
|
search_dirs=("/home/thorsten/mnt/unRAID/Media/Stand-up-Comedy/" "/home/thorsten/mnt/unRAID/Media/Konzerte/" "/home/thorsten/mnt/unRAID/Media/Filme/" "/home/thorsten/mnt/unRAID/Media/Dokumentationen/" "/home/thorsten/mnt/unRAID/Media 2/TV Serien/") # Verzeichnisse, die durchsucht werden sollen ("/path/to/dir1" "/path/to/dir2")
|
||||||
|
video_formats=("mkv" "mp4" "avi" "mov" "flv" "wmv" "ts" "mpg" "m2ts" "webm" "vob") # Unterstützte Videoformate
|
||||||
|
|
||||||
|
# Funktion, um eine Nachricht in Dry-Run oder tatsächlichem Modus anzuzeigen
|
||||||
|
function log_action() {
|
||||||
|
if $dry_run; then
|
||||||
|
echo "[Dry-Run] $1"
|
||||||
|
else
|
||||||
|
echo "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Funktion zum Löschen von Ordnern (im Dry-Run-Modus nur anzeigen)
|
||||||
|
function delete_folder() {
|
||||||
|
folder=$1
|
||||||
|
if $dry_run; then
|
||||||
|
log_action "[DryRun] Ordner gelöscht: $folder"
|
||||||
|
else
|
||||||
|
rm -rf "$folder" && log_action "Ordner gelöscht: $folder"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Hauptlogik
|
||||||
|
for dir in "${search_dirs[@]}"; do
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
echo "Durchsuche Verzeichnis: $dir"
|
||||||
|
|
||||||
|
# Finde alle Ordner, die auf ".trickplay" enden
|
||||||
|
find "$dir" -type d -name "*.trickplay" | while read -r trickplay_folder; do
|
||||||
|
# Ableitung des Basisnamens (ohne ".trickplay")
|
||||||
|
base_name="${trickplay_folder%.trickplay}"
|
||||||
|
|
||||||
|
# Überprüfen, ob eine passende Videodatei existiert
|
||||||
|
found_video=false
|
||||||
|
for format in "${video_formats[@]}"; do
|
||||||
|
if [ -f "${base_name}.${format}" ]; then
|
||||||
|
found_video=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Wenn keine passende Videodatei gefunden wurde, Ordner löschen
|
||||||
|
if ! $found_video; then
|
||||||
|
log_action "Keine passende Videodatei für: $trickplay_folder"
|
||||||
|
delete_folder "$trickplay_folder"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Verzeichnis nicht gefunden: $dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user