172 lines
5.2 KiB
Bash
172 lines
5.2 KiB
Bash
########## 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
|