179 lines
6.2 KiB
Bash
179 lines
6.2 KiB
Bash
########## 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
|