########## 0 Einstellungen und Funktionen ############### GIT_PFAD="$HOME/Gitea" source $GIT_PFAD/logger/logger.sh jjahr=$(date +%Y) AArchiv=$(date +%Y-%m-%d-%H-%M) QUELLE="/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f" AUDIO="$QUELLE/Audio" RADIO="$AUDIO/Radio-Archiv" testlauf="nein" # bei "ja" wird übersprungen: Hörbücher A-Z, Bilder Alf und Louisa logbuch="$GIT_PFAD/logger/Logs/cloner2000.log" log_init "$logbuch" function eingehaengt () { DECRYPTED_DIR=$QUELLE if mountpoint -q "$DECRYPTED_DIR"; then return 0 else return 1 fi } ################## Hauptschleife ##################### log_start log_info "RCLCLO rclonecloner 2000" log_info "RCLCLO Archiv-Ordner gesetzt auf: $AArchiv" log_info "RCLCLO Starte grosses Cloning..." if [ $testlauf = "ja" ] then log_warn "RCLCLO TESTLAUF!" else log_info "RCLCLO Kein Testlauf." fi log_info "RCLCLO Teste Laufwerk..." eingehaengt if [ $? -eq 0 ] # Prüfe auf 0 für Erfolg, nicht auf 1 then log_info "RCLCLO Laufwerk OK!" else log_error "RCLCLO Laufwerk nicht freigegeben." log_error "RCLCLO EXIT!" exit 2 fi ######## 1 OMV-Config sichern... ######### log_info "OMV-Config sichern" if [ $testlauf = "nein" ] then rclone sync /etc/openmediavault jottasecret:/BackupHomelab/OMV81/ --log-file=$logbuch --backup-dir=jottasecret:/BackupHomelab/Archiv/OMV81/$AArchiv/ -P else log_info "OMV-Config-Sicherung übersprungen" fi ######## 2 Phonostar-Cloning ############ log_info "RCLCLO Starte PhonoStar-Download" if [ $testlauf = "nein" ] then rclone move magentawralto:/phonostar_radio_cloud/ $RADIO/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 \; >>$logbuch log_error "RCLCLO Phonostar Downlod ERR: $?" /bin/bash $RADIO/Phonostar/Phonostarverteilen.sh log_error "RCLCLO Phonostar verteilen ERR: $?" else log_info "Phonostar-Download übersprungen" fi ######### 3 Radio-Cloning ################ log_info 'RCLCLO Starte Radio-Cloning...' log_info "Jahr: $jjahr" if [ $testlauf = "nein" ] then rclone sync -P $RADIO/$jjahr jotta:/Audio/Radio-Archiv/$jjahr/ --exclude=gPodder/ --ignore-existing --log-file=$logbuch --backup-dir=jotta:/Archiv/Audio/$AArchiv/Radio/$jjahr/ log_error "RCLCLO ERR: $?" else log_info "RCLCLO Radio-Cloning übersprungen (Testlauf)" fi ########### 4 Hörbücher ############# log_info 'RCLCLO Hörbücher...' if [ $testlauf = "ja" ] then buchverz="A" log_info "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" log_info "RCLCLO Radio-Cloning Hörbücher-Verzeichnisse: $buchverz" for bbuch in $buchverz; do log_info "RCLCLO Buchstabe: $bbuch" rclone sync -P $AUDIO/Hörbücher/A-Z/$bbuch/ jotta:/Audio/Hörbücher/A-Z/$bbuch/ --ignore-existing --log-file=$logbuch --backup-dir=jotta:/Archiv/Audio/$AArchiv/Hörbücher/$bbuch/ log_error "RCLCLO ERR: $?" echo " " done fi echo " " echo " " ######### 5 Musik ############## if [ $testlauf = "nein" ] then log_info "RCLCLO Musik" rclone sync -P $AUDIO/Musik/ jottasecret:/Audio/Musik/ --ignore-existing --log-file=$logbuch --backup-dir jottasecret:/Archiv/Audio/$AArchiv/Musik/ else log_info "RCLCLO Musik-Cloning übersprungen (Testlauf)" fi echo " " echo " " ############ 6 Bilder ############### if [ $testlauf = "ja" ] then log_info "RCLCLO Testlauf: Bilder Alf übersprungen" else log_info "RCLCLO Starte Script louisabackup.sh" # 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 # log_error "RCLCLO ERR: $?" echo " " echo " " /bin/bash /root/louisabackup.sh fi log_info 'RCLCLO Fertig!' ############### 7 OMV-Sync 2000 ####################### log_info "R2000 OMV-Sychronisierung..." log_info "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 log_info "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 /srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f/" # Überprüfe den Exit-Status des Remote-Befehls if [ $? -eq 0 ]; then log_info "R2000 Erfolg: Das Verzeichnis $REMOTE_DECRYPTED_DIR auf $SSH_HOST ist entschlüsselt (gemountet)." else log_error "R2000 Fehler: Das Verzeichnis '$REMOTE_DECRYPTED_DIR' auf $SSH_HOST ist NICHT entschlüsselt (nicht gemountet)." log_error "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 log_info "Initialisiere SSH-Verbindung für rclone..." eval "$(ssh-agent -s)" ssh-add /root/id_OMV81 log_info "Synchronisieren OMV80 und OMV81..." log_info "… Festplatte zu Festplatte. Archiv: OMV81:/Archiv/$AArchiv/ …" log_info "… Audio …" cd /srv/MEDIEN/ # /bin/bash omv2000sync.sh log_error "ERR: $?" log_info " " log_info "----------------- fertig ! ----------------" log_end