Abgleich 2025-07-29

This commit is contained in:
Alf
2025-07-29 15:53:11 +02:00
parent f12d06dcbd
commit 63ac5b74d1
4 changed files with 163 additions and 21 deletions

158
rclonecloner.sh Normal file
View File

@ -0,0 +1,158 @@
########## 0 Einstellungen und Funktionen ###############
jjahr=$(date +%Y)
AArchiv=$(date +%Y-%m-%d-%H-%M)
testlauf="ja" # bei "ja" wird übersprungen: Hörbücher A-Z, Bilder Alf und Louisa
logbuch="root/log.txt"
source /root/logger.sh
function eingehaengt () {
DECRYPTED_DIR="/srv/dev-disk-by-uuid-cdd3de56-0b4f-48cf-aec0-abf441a759b5/"
if mountpoint -q "$DECRYPTED_DIR"; then
return 0
else
return 1
fi
}
################## Hauptschleife #####################
neu_log
info_log "RCLCLO Archiv-Ordner gesetzt auf: $AArchiv"
info_log "RCLCLO Starte grosses Cloning..."
if [ $testlauf = "ja" ]
then
err_log "RCLCLO TESTLAUF!"
else
err_log "RCLCLO Kein Testlauf."
fi
info_log "RCLCLO Teste Laufwerk..."
eingehaengt
if [ $? -eq 0 ] # Prüfe auf 0 für Erfolg, nicht auf 1
then
info_log "RCLCLO Laufwerk OK!"
else
err_log "RCLCLO Laufwerk nicht freigegeben."
err_log "RCLCLO EXIT!"
exit 2
fi
######## 1 OMV-Config sichern... #########
info_log "OMV-Config sichern"
if [ $testlauf = "nein" ]
then
rclone sync /etc/openmediavault/config.xml jottasecret:/BackupHomelab/OMV80/ --log-file=$logbuch --backup-dir=jottasecret:/BackupHomelab/Archiv/OMV80/$AArchiv/ -P
else
info_log "OMV-Config-Sicherung übersprungen"
fi
######## 2 Phonostar-Cloning ############
info_log "RCLCLO Starte PhonoStar-Download"
if [ $testlauf = "nein" ]
then
rclone move magentawralto:/phonostar_radio_cloud/ /srv/MEDIEN/Audio/Radio-Archiv/Phonostar/ --create-empty-src-dirs --log-file=$logbuch -P
mmonat=$(date +%m-%Y)
# find /srv/MEDIEN/Audio/Radio-Archiv/Phonostar -iname "*$mmonat*" -exec mv {} /srv/MEDIEN/Audio/Radio-Archiv/2025/$(date +%m)/ -v \; >>/root/log.txt
err_log "RCLCLO Phonostar Downlod ERR: $?"
else
info_log "Phonostar-Download übersprungen"
fi
######### 3 Radio-Cloning ################
info_log 'RCLCLO Starte Radio-Cloning...'
info_log "Jahr: $jjahr"
if [ $testlauf = "nein" ]
then
rclone sync -P /srv/MEDIEN/Audio/Radio-Archiv/$jjahr jotta:/Audio/Radio/$jjahr/ --exclude=gPodder/ --log-file=$logbuch --backup-dir=jotta:/Archiv/Audio/$AArchiv/Radio/$jjahr/
err_log "RCLCLO ERR: $?"
else
info_log "RCLCLO Radio-Cloning übersprungen (Testlauf)"
fi
########### 4 Hörbücher #############
info_log 'RCLCLO Hörbücher...'
if [ $testlauf = "ja" ]
then
buchverz="A"
info_log "RCLCLO Radio-Cloning Hörbücher-Verzeichnisse: $buchverz (Testlauf)"
else
buchverz="A B C D E F G H I J K L M N O P Q R S SCH T"
info_log "RCLCLO Radio-Cloning Hörbücher-Verzeichnisse: $buchverz"
fi
for bbuch in $buchverz; do
info_log "RCLCLO Buchstabe: $bbuch"
rclone sync -P /srv/MEDIEN/Audio/Hörbücher/A-Z/$bbuch/ jotta:/Audio/Hörbücher/A-Z/$bbuch/ --log-file=$logbuch --backup-dir=jotta:/Archiv/Audio/$AArchiv/Hörbücher/$bbuch/
err_log "RCLCLO ERR: $?"
echo " "
done
echo " "
echo " "
######### 5 Musik ##############
if [ $testlauf = "nein" ]
then
info_log "RCLCLO Musik"
rclone sync -P /srv/MEDIEN/Audio/Musik/ jottasecret:/Audio/Musik/ --log-file=$logbuch --backup-dir jottasecret:/Archiv/Audio/$AArchiv/Musik/
else
info_log "RCLCLO Musik-Cloning übersprungen (Testlauf)"
fi
echo " "
echo " "
############ 6 Bilder ###############
if [ $testlauf = "ja" ]
then
info_log "RCLCLO Testlauf: Bilder Alf übersprungen"
else
info_log "RCLCLO Alfs Bilder... Jahrgang: $jjahr"
rclone sync -P /srv/MEDIEN/Bilder/Alf/$jjahr/ jottasecret:/Bilder/Alf/$jjahr/ --log-file=$logbuch --backup-dir jottasecret:/Archiv/Bilder/$AArchiv/Alf/$jjahr/ --ignore-existing
err_log "RCLCLO ERR: $?"
echo " "
echo " "
/bin/bash /root/louisabackup.sh
fi
info_log 'RCLCLO Fertig!'
############### 7 OMV-Sync 2000 #######################
info_log "R2000 OMV-Sychronisierung..."
info_log "R2000 Disk auf OMV2000 eingehängt?"
# SSH-Verbindungsinformationen
SSH_USER="root" # Dein Benutzername auf dem Remote-Server
SSH_HOST="100.87.87.81" # Die IP-Adresse oder der Hostname des Remote-Servers
# Das Verzeichnis auf dem Remote-Server, das der Entschlüsselungs-Mount-Point ist
REMOTE_DECRYPTED_DIR="/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f" # z.B. /mnt/mydata_decrypted
info_log "R2000 Prüfe, ob '$REMOTE_DECRYPTED_DIR' auf $SSH_HOST entschlüsselt ist..."
# Führe 'mountpoint -q' auf dem Remote-Server aus
ssh -p2222 -i /root/Schluessel/id_rclone "$SSH_USER@$SSH_HOST" "mountpoint -q \"$REMOTE_DECRYPTED_DIR\""
# Überprüfe den Exit-Status des Remote-Befehls
if [ $? -eq 0 ]; then
info_log "R2000 Erfolg: Das Verzeichnis '$REMOTE_DECRYPTED_DIR' auf $SSH_HOST ist entschlüsselt (gemountet)."
else
err_log "R2000 Fehler: Das Verzeichnis '$REMOTE_DECRYPTED_DIR' auf $SSH_HOST ist NICHT entschlüsselt (nicht gemountet)."
err_log "R2000 Bitte entschlüsseln Sie es auf dem Server."
exit 1 # Das Skript mit einem Fehlercode beenden
fi
# rsync -r -u -P --delete -e "ssh -p2222 -i /root/id_OMV81" /srv/dev-disk-by-uuid-cdd3de56-0b4f-48cf-aec0-abf441a759b5/ root@100.87.87.81:/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f/ --exclude=.Trash-1000/
rsync -r -u -P -e "ssh -p2222 -i /root/Schluessel/id_rclone" /srv/dev-disk-by-uuid-cdd3de56-0b4f-48cf-aec0-abf441a759b5/ root@100.87.87.81:/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f/ --exclude=.Trash-1000/ --log-file=$logfile