rclonecloner80.sh hinzugefügt

Start rclonecloner.sh für omv80
This commit is contained in:
alf
2025-09-25 20:57:23 +00:00
commit 2b53b12029

172
rclonecloner80.sh Normal file
View File

@ -0,0 +1,172 @@
########## 0 Einstellungen und Funktionen ###############
GIT_PFAD="$HOME/Gitea"
source $GIT_PFAD/logger/logger.sh
jjahr=$(date +%Y)
AArchiv=$(date +%Y-%m-%d-%H-%M)
testlauf="nein" # bei "ja" wird übersprungen: Hörbücher A-Z, Bilder Alf und Louisa
logbuch="$GIT_PFAD/logger/Logs/cloner.log"
log_init "$logbuch"
function eingehaengt () {
DECRYPTED_DIR="/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f"
if mountpoint -q "$DECRYPTED_DIR"; then
return 0
else
return 1
fi
}
################## Hauptschleife #####################
log_start
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/config.xml 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/ /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 \; >>$logbuch
log_error "RCLCLO Phonostar Downlod 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 /srv/MEDIEN/Audio/Radio-Archiv/$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 /srv/MEDIEN/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 /srv/MEDIEN/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