# Voraussetzungen: rclone installiert # und GIT_PFAD wurde in .bashrc gesetzt. source $GIT_PFAD/logger/logger.sh LOGBUCH="$GIT_PFAD/logger/Logs/rcloning.log" log_init $LOGBUCH log_start # Einstellungen # IST_TEST="nein" # ja: es wird nichts übertragen REPO="jotta:/" QUELLE="/srv/MEDIEN/Audio" ZIEL="$REPO/Audio" ARCHIV="$REPO/Archiv/Audio/$(date +%Y-%m-%d-%H-%M)" MODUS="sync" # Modus kann sync oder copy sein LOGLVL="INFO" # Möglich: DEBUG, INFO, ERROR, NOTICE IGNORE="" # leeren, wenn nicht ignoriert werden soll, sonst --ignore-existing (dann werden aber keine Änderungen archiviert) EXCLUDE=".git/" # Auszuschließende Dateien und Verzeichnisse z. B. ".git/ .Trash1000/" # Programm # log_info "Starte Cloning..." if [ $IST_TEST = "ja"] then DRYRUN="--dry-run" else DRYRUN="" fi log_info "Quelle: $QUELLE --> Ziel: $ZIEL" log_info "Archiv: $ARCHIV" log_info "Modus: $MODUS" log_info "Log-Level: $LOGLVL" log_info "Ignoriert: $EXCLUDE" log_info "Bestehende Dateien überspringen: $IGNORE" log_info "Testlauf: $IST_TEST" log_info "Starte..." rclone -P $MODUS $QUELLE $ZIEL --backup-dir=$ARCHIV --log-file=$LOGBUCH --log-level=$LOGLVL $IGNORE $DRYRUN log_error "ERR: $?" log_info "Archiv packen..." rclone archive create $ARCHIV/ $ARCHIV.zip -P --log-level=$LOGLVL --log-file=$LOGBUCH ERR="$?" log_info "Fertig. ERR: $ERR" if [ $ERR = 0 ] then log_info "Archiv-Verzeichnis löschen..." rclone purge $ARCHIV/ -P --log-file=$LOGBUCH --log-level=DEBUG log_info "Fertig. ERR: $?" else log_error "Beim Erstellen des Archivs kam es zu einem Problem." fi log_end