########## 0 Einstellungen und Funktionen ############### GIT_PFAD="$HOME/Gitea" source $GIT_PFAD/logger/logger.sh jjahr=$(date +%Y) ARCHIV_PFAD="Archiv" ARCHIV_VERZ=$(date +%Y-%m-%d-%H-%M) ZIEL_REPO="jotta" ZIEL_REPO_SECRET="jottasecret" QUELLE="/srv/dev-disk-by-uuid-13cadd43-4179-427d-a0bd-3bc17596b05f" AUDIO="$QUELLE/Audio" RADIO="$AUDIO/Radio-Archiv" RADIO_ZIEL="$ZIEL_REPO:/Audio/Radio-Archiv/$jjahr" ZIEL_OMV="BackupHomelab/OMV2000" OMV_CONFIG="/etc/openmediavault" PHONOSTAR_QUELLE="magentawralto:/phonostar_radio_cloud/" 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: $ARCHIV_PFAD/$ARCHIV_VERZ" 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 "$OMV_CONFIG" "$ZIEL_REPO_SECRET:/$ZIEL_OMV" --log-file=$logbuch --backup-dir="$ZIEL_REPO_SECRET:/$ARCHIV_PFAD/$ARCHIV_VERZ/OMV2000" -P else log_info "OMV-Config-Sicherung übersprungen" fi ######## 2 Phonostar-Cloning ############ log_info "RCLCLO Starte PhonoStar-Download" if [ $testlauf = "nein" ] then rclone move "$PHONOSTAR_QUELLE" $RADIO/Phonostar/ --create-empty-src-dirs --log-file=$logbuch -P 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 "$ZIEL_REPO:/$RADIO_ZIEL/" --exclude=gPodder/ --ignore-existing --log-file=$logbuch --backup-dir="$ZIEL_REPO/$ARCHIV_PFAD/$ARCHIV_VERZ/Radio/" 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 U" 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/ "$ZIEL_REPO:/Audio/Hörbücher/A-Z/$bbuch/"" --ignore-existing --log-file=$logbuch --backup-dir="$ZIEL_REPO:/$ARCHIV_PFAD/$ARCHIV_VERZ/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/"" "$ZIEL_REPO_SECRET:/Audio/Musik/" --ignore-existing --log-file=$logbuch --backup-dir="$ZIEL_REPO:/$ARCHIV_PFAD/$ARCHIV_VERZ/Musik/" else log_info "RCLCLO Musik-Cloning übersprungen (Testlauf)" fi echo " " echo " " ############ 6 Bilder ############### if [ $testlauf = "ja" ] then log_info "RCLCLO Testlauf: Bilder übersprungen" else log_info "RCLCLO Starte Script bilderbackup.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/bilderbackup.sh fi #################### 7 Archiv komprimieren ################# if [ $testlauf = "ja" ] then log_info "RCLCLO Testlauf: Kein Archiv-Packing." else log_info "RCLCLO Starte Packen des Archivs..." log_info "RCLCLO 1: Repo $ZIEL_REPO" rclone archive create "$ZIEL_REPO:/$ARCHIV_PFAD/$ARCHIV_VERZ" "$ZIEL_REPO:/$ARCHIV_PFAD/$ARCHIV_VERZ.zip" if [ $? = 0 ] then log_info "RCLCLO 1: erfolgreich." log_info "RCLCLO 1: Archiv-Verzeichnis löschen..." rclone purge --dry-run "$ZIEL_REPO:/$ARCHIV_PFAD/$ARCHIV_VERZ/" if [ $? = 0] then log_info "RCLCLO 1: löschen erfolgreich." else log_error "RCLCLO 1: FEHLER beim Löschen!" fi else log_error "RCLCLO 1: Fehler beim Packen!" fi fi log_info 'RCLCLO Fertig!' log_info " " log_info "----------------- fertig ! ----------------" log_end