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