56 lines
1.6 KiB
Bash
56 lines
1.6 KiB
Bash
# 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
|