rclone_Audio_sync.sh hinzugefügt
This commit is contained in:
114
rclone_Audio_sync.sh
Normal file
114
rclone_Audio_sync.sh
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
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"
|
||||||
|
|
||||||
|
speichern() {
|
||||||
|
local quelle="$1"
|
||||||
|
local ziel="$2"
|
||||||
|
local logbuch="$3"
|
||||||
|
local logger="/bin/bash /root/logger.sh -f $logbuch -l INFO -m"
|
||||||
|
|
||||||
|
$logger "Starte RCLONE-Sitzung"
|
||||||
|
$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
|
||||||
|
rclone sync -P "$quelle" "$ziel" --ignore-existing --size-only --log-file="$logbuch" --log-level=$LOGLEVEL
|
||||||
|
|
||||||
|
$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"
|
||||||
|
|
||||||
|
|
||||||
|
############## 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"
|
||||||
|
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
|
||||||
|
############## 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"
|
||||||
|
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
|
||||||
|
############## Jottacloud #################
|
||||||
|
ZIEL="jotta:/Audio/gPodder/"
|
||||||
|
|
||||||
|
LOGBUCH="/media/Jotta.log"
|
||||||
|
LOGGER="/bin/bash /root/logger.sh -f $LOGBUCH -l INFO -m "
|
||||||
|
|
||||||
|
speichern "$QUELLE" "$ZIEL" "$LOGBUCH"
|
||||||
Reference in New Issue
Block a user