LOGBUCH="/media/Jotta.log" QUELLE="/media/USB1/Bibliothek1" # LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " LOGLEVEL="INFO" MODUS="sync" # sync oder copy ACHTUNG: sync nur mit Backupdir! DRY_LOG="sync.log" JOTTAARCHIVDIR="jotta:/Archiv/ABS/$(date +%Y-%m-%d-%H)" speichern() { local quelle="$1" local ziel="$2" local logbuch="$3" local archiv="$4" local logger="/bin/bash /root/logger.sh -f $logbuch -l INFO -m" $logger "Starte RCLONE-Sitzung SYNC" $logger "$quelle -> $ziel" echo "Prüfe Änderungen für $quelle..." rm -f "$DRY_LOG" # Dry-Run: Wir loggen im Detail-Modus (-v), um die genauen Dateiaktionen zu sehen rclone sync "$quelle" "$ziel" --ignore-existing --size-only --log-file="$DRY_LOG" -v --dry-run # Filtert nach dem exakten Dry-Run-Text für Löschungen von rclone local loeschungen=$(grep -E "Skipped delete as --dry-run is set|Would delete" "$DRY_LOG") if [ -n "$loeschungen" ]; then echo "========================================================" echo "⚠️ GLACIER-WARNUNG: Dateien würden im Ziel gelöscht werden!" echo "========================================================" echo "$loeschungen" | sed 's/.*NOTICE://' # Verschönert die Ausgabe im Terminal echo "========================================================" read -p "Möchten Sie diese Löschungen auf Scaleway/Jotta durchführen? (w = Weiter, Enter = Abbrechen): " weiter if [ "$weiter" != "w" ]; then echo "❌ Synchronisation abgebrochen. Keine Daten gelöscht." $logger "Abgebrochen durch Nutzer wegen Löschwarnung." echo return 1 fi else echo "✅ Keine Löschungen notwendig. Führe Synchronisation aus..." fi # Tatsächlicher Sync-Lauf if [ $archiv = "NEIN" ] then $logger "SYNC ohne Archivverzeichnis" rclone sync -P "$quelle" "$ziel" --ignore-existing --size-only --log-file="$logbuch" --log-level=$LOGLEVEL else $logger "Archivverzeichnis: $archiv" rclone sync -P "$quelle" "$ziel" --ignore-existing --size-only --log-file="$logbuch" --log-level=$LOGLEVEL --backup-dir="$archiv" fi $logger "Fertig mit $quelle" $logger "------------------------------------------------------------------" echo "🎉 Fertig!" echo } # Bibliothek1 # # # # # # # # # # # # # # # # # # # # # # # # ############### Scaleway ############## QUELLE="/media/USB1/Bibliothek1" ZIEL="ScalewayGlacierSecret:/Audio/ABS/Books" LOGBUCH="/media/Scaleway.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "NEIN" ############## Jottacloud ################# ZIEL="jotta:/Audio/ABS/Bibliothek1" LOGBUCH="/media/Jotta.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "$JOTTAARCHIVDIR" # Helena # # # # # # # # # # # # # # # # # # # # # # # # ############### Scaleway ############## QUELLE="/media/audiobookshelf/Helena" ZIEL="ScalewayGlacierSecret:/Audio/ABS/Helena" LOGBUCH="/media/Scaleway.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "NEIN" ############## Jottacloud ################# ZIEL="jotta:/Audio/ABS/Helena" LOGBUCH="/media/Jotta.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "$JOTTAARCHIVDIR" # Podcast-Archiv # # # # # # # # # # # # # # # # # # # # # # # # ############### Scaleway ############## QUELLE="/media/audiobookshelf/Podcasts/Archiv/" ZIEL="ScalewayGlacierSecret:/Audio/ABS/Podcasts" LOGBUCH="/media/Scaleway.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "NEIN" ############## Jottacloud ################# ZIEL="jotta:/Audio/gPodder/" LOGBUCH="/media/Jotta.log" LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m " speichern "$QUELLE" "$ZIEL" "$LOGBUCH" "$JOTTAARCHIVDIR"