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