more debug
This commit is contained in:
@@ -12,8 +12,8 @@ Das Skript durchläuft jeden Unterordner im angegebenen Verzeichnis. Wird eine `
|
|||||||
In der settings.ini wird definiert welche Artwork-Typen gesichert werden sollen:
|
In der settings.ini wird definiert welche Artwork-Typen gesichert werden sollen:
|
||||||
```ini
|
```ini
|
||||||
[Paths]
|
[Paths]
|
||||||
source_dir=/home/thorsten/Schreibtisch/Filme/
|
source_dir=/Filme/
|
||||||
backup_dir=/home/thorsten/Schreibtisch/Backup/
|
backup_dir=/Backups/
|
||||||
|
|
||||||
[Options]
|
[Options]
|
||||||
backup_actors=true
|
backup_actors=true
|
||||||
|
|||||||
@@ -42,8 +42,18 @@ backup_folders[actors]=".actors"
|
|||||||
backup_folders[trickplay]="*.trickplay"
|
backup_folders[trickplay]="*.trickplay"
|
||||||
backup_folders[fanart]="*extrafanart"
|
backup_folders[fanart]="*extrafanart"
|
||||||
|
|
||||||
|
|
||||||
|
#colors
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;92m'
|
||||||
|
BLUE='\033[0;94m'
|
||||||
|
WHITE_ON_GRAY='\033[0;37;100m'
|
||||||
|
BLACK_ON_WHITE='\033[0;30;47m'
|
||||||
|
WHITE_ON_RED='\033[0;37;41m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
# Maximal 2 parallele Prozesse
|
# Maximal 2 parallele Prozesse
|
||||||
max_parallel=2
|
max_parallel=1
|
||||||
current_jobs=0
|
current_jobs=0
|
||||||
|
|
||||||
# Prüfen, ob der Startordner existiert
|
# Prüfen, ob der Startordner existiert
|
||||||
@@ -66,12 +76,13 @@ backup_movie_folder() {
|
|||||||
# Filmname aus dem Ordnernamen ableiten
|
# Filmname aus dem Ordnernamen ableiten
|
||||||
movie_name=$(basename "$folder")
|
movie_name=$(basename "$folder")
|
||||||
zip_file="${backup_dir}/${movie_name}.zip"
|
zip_file="${backup_dir}/${movie_name}.zip"
|
||||||
|
zip_file=$(echo "$zip_file" | sed 's|//|/|g')
|
||||||
|
|
||||||
echo "Erstelle Backup für Film: $movie_name"
|
echo -e "${BLACK_ON_WHITE} Backup erstellen ${NC} $zip_file"
|
||||||
|
|
||||||
# Prüfen, ob die ZIP-Datei bereits existiert und ggf. löschen
|
# Prüfen, ob die ZIP-Datei bereits existiert und ggf. löschen
|
||||||
if [ -f "$zip_file" ]; then
|
if [ -f "$zip_file" ]; then
|
||||||
echo "Vorhandene ZIP-Datei gefunden. Lösche: $zip_file"
|
#echo "Vorhandene ZIP-Datei gefunden. Lösche: $zip_file"
|
||||||
rm -f "$zip_file"
|
rm -f "$zip_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -103,7 +114,6 @@ backup_movie_folder() {
|
|||||||
cd "$temp_dir" || exit
|
cd "$temp_dir" || exit
|
||||||
zip -r "$zip_file" "${movie_name}" >/dev/null
|
zip -r "$zip_file" "${movie_name}" >/dev/null
|
||||||
)
|
)
|
||||||
echo "Backup erstellt: $zip_file"
|
|
||||||
|
|
||||||
# Temporären Ordner löschen
|
# Temporären Ordner löschen
|
||||||
rm -rf "$temp_dir"
|
rm -rf "$temp_dir"
|
||||||
@@ -118,12 +128,13 @@ backup_series_folder() {
|
|||||||
# Serienname aus dem Ordnernamen ableiten
|
# Serienname aus dem Ordnernamen ableiten
|
||||||
series_name=$(basename "$folder")
|
series_name=$(basename "$folder")
|
||||||
zip_file="${backup_dir}/${series_name}.zip"
|
zip_file="${backup_dir}/${series_name}.zip"
|
||||||
|
zip_file=$(echo "$zip_file" | sed 's|//|/|g')
|
||||||
|
|
||||||
echo "Erstelle Backup für Serie: $series_name"
|
echo -e "${BLACK_ON_WHITE} Backup erstellen ${NC} $zip_file"
|
||||||
|
|
||||||
# Prüfen, ob die ZIP-Datei bereits existiert und ggf. löschen
|
# Prüfen, ob die ZIP-Datei bereits existiert und ggf. löschen
|
||||||
if [ -f "$zip_file" ]; then
|
if [ -f "$zip_file" ]; then
|
||||||
echo "Vorhandene ZIP-Datei gefunden. Lösche: $zip_file"
|
# echo "Vorhandene ZIP-Datei gefunden. Lösche: $zip_file"
|
||||||
rm -f "$zip_file"
|
rm -f "$zip_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -143,7 +154,7 @@ backup_series_folder() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Alle Unterordner (z. B. Staffel 01, Staffel 02) durchgehen und sichern
|
# Alle Unterordner (z. B. Staffel 01, Staffel 02) durchgehen und sichern
|
||||||
find "$folder" -mindepth 1 -maxdepth 1 -type d -name "Staffel*" | while read -r season_folder; do
|
find "$folder" -mindepth 1 -maxdepth 1 -type d \( -name "Staffel*" -o -name "Season*" -o -name "Specials*" \) | while read -r season_folder; do
|
||||||
season_name=$(basename "$season_folder")
|
season_name=$(basename "$season_folder")
|
||||||
season_backup_dir="${series_backup_dir}/${season_name}"
|
season_backup_dir="${series_backup_dir}/${season_name}"
|
||||||
mkdir -p "$season_backup_dir"
|
mkdir -p "$season_backup_dir"
|
||||||
@@ -170,6 +181,7 @@ backup_series_folder() {
|
|||||||
cd "$temp_dir" || exit
|
cd "$temp_dir" || exit
|
||||||
zip -r "$zip_file" "${series_name}" >/dev/null
|
zip -r "$zip_file" "${series_name}" >/dev/null
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "Backup erstellt: $zip_file"
|
echo "Backup erstellt: $zip_file"
|
||||||
|
|
||||||
# Temporären Ordner löschen
|
# Temporären Ordner löschen
|
||||||
@@ -189,21 +201,55 @@ export -f backup_movie_folder
|
|||||||
export -f backup_series_folder
|
export -f backup_series_folder
|
||||||
export source_dir backup_dir backup_patterns backup_folders
|
export source_dir backup_dir backup_patterns backup_folders
|
||||||
|
|
||||||
|
echo "────────────────────────────────────────────────────────────────"
|
||||||
|
echo -e "${BLACK_ON_WHITE} TMM Media Backup ${NC}"
|
||||||
|
echo "────────────────────────────────────────────────────────────────"
|
||||||
|
echo " "
|
||||||
|
echo -e "${WHITE_ON_GRAY} Source Folder ${NC} ""$source_dir"""
|
||||||
|
echo -e "${WHITE_ON_GRAY} Backup Folder ${NC} ""$backup_dir"""
|
||||||
|
echo " "
|
||||||
|
echo "────────────────────────────────────────────────────────────────"
|
||||||
|
|
||||||
|
|
||||||
find "$source_dir" -type f \( -name "*.nfo" -o -name "tvshow.nfo" \) -print0 | \
|
find "$source_dir" -type f \( -name "*.nfo" -o -name "tvshow.nfo" \) -print0 | \
|
||||||
while IFS= read -r -d '' nfo_file; do
|
while IFS= read -r -d '' nfo_file; do
|
||||||
folder=$(dirname "$nfo_file")
|
folder=$(dirname "$nfo_file")
|
||||||
|
|
||||||
|
# Überspringe Ordner mit dem Namen ".deletedByTMM"
|
||||||
|
if [[ "$folder" == *"/.deletedByTMM"* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$(basename "$nfo_file")" == "tvshow.nfo" ]]; then
|
if [[ "$(basename "$nfo_file")" == "tvshow.nfo" ]]; then
|
||||||
wait_for_jobs
|
wait_for_jobs
|
||||||
|
|
||||||
|
echo "────────────────────────────────────────────────────────────────"
|
||||||
|
echo -e "${BLACK_ON_WHITE} NFO gefunden ${NC} $nfo_file"
|
||||||
|
echo -e "${BLACK_ON_WHITE} NFO Typ ${NC} Serie"
|
||||||
|
|
||||||
backup_series_folder "$folder" &
|
backup_series_folder "$folder" &
|
||||||
|
|
||||||
|
echo -e "${BLACK_ON_WHITE} Abgeschlossen! ${NC} $(date +'%Y-%m-%d %H:%M:%S')"
|
||||||
|
|
||||||
else
|
else
|
||||||
if [[ "$folder" != *"/Staffel "* ]]; then
|
# Sicherstellen, dass keine Staffel-/Season- oder Specials-Ordner als eigenständige Filme behandelt werden
|
||||||
|
if [[ "$folder" != *"/Staffel "* && "$folder" != *"/Season "* && "$folder" != *"/Specials"* ]]; then
|
||||||
wait_for_jobs
|
wait_for_jobs
|
||||||
|
|
||||||
|
echo "────────────────────────────────────────────────────────────────"
|
||||||
|
echo -e "${BLACK_ON_WHITE} NFO gefunden ${NC} $nfo_file"
|
||||||
|
echo -e "${BLACK_ON_WHITE} NFO Typ ${NC} Film"
|
||||||
|
|
||||||
backup_movie_folder "$folder" &
|
backup_movie_folder "$folder" &
|
||||||
|
|
||||||
|
echo -e "${BLACK_ON_WHITE} Abgeschlossen! ${NC} $(date +'%Y-%m-%d %H:%M:%S')"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
current_jobs=$((current_jobs + 1))
|
current_jobs=$((current_jobs + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Warte auf alle verbleibenden Prozesse
|
# Warte auf alle verbleibenden Prozesse
|
||||||
wait
|
wait
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user