## rcloner.sh ## Allgemeiner Cloner, der ein Verzeichnis mit einem Repo synchronisiert, ## dabei Dateien, die gelöscht oder überschrieben werden sollen archiviert ## und das Archiv packt. ########## 1 Einstellungen ########## REPO="" # Bezeichnung des rclone-Repos, Muss bereits angelegt worden sein REPO_DIR="" # Verzeichnis auf dem Repo, in das die Dateien gesichert werden sollen QUELLE="" # Quell-Verzeichnis ARCHIV_DIR="Archiv" # Archiv-Verzeichnis auf dem Repo ARCHIV="$(date +%Y-%m-%d-%H-%M)" # Archiv-Zielverzeichnis LOGBUCH="$HOME/Dokumente/log.log" # Datei, in die die Logs geschrieben werden LOGLEVEL="INFO" # Loglevel (Verzeichnis löschen immer DEBUG, sonst wie hier eingestellt.) ########## Logger-Funktion ########## logge() { echo $1 echo $1 >>$LOGBUCH } ########## 2 Synchronisieren ########## logge "" logge "" logge "$(date) ------------------------------------------------------------" logge "$(date) Starte Synchronisation" logge "$(date) ---- Synchronisieren ----" logge "Archiv: $ARCHIV_DIR/$ARCHIV" rclone sync -P --log-level=$LOGLEVEL "$QUELLE/" "$REPO:/$REPO_DIR/" --backup-dir="$REPO:/$ARCHIV_DIR/$ARCHIV" --log-file=$LOGBUCH logge "$(date) ERR: $?" logge "" logge "$(date) ------------------------------------------------------------" ########## 3 Archiv packen ########## logge "$(date) ---- Packen ----" rclone archive create -P --log-level=$LOGLEVEL "$REPO:/$ARCHIV_DIR/$ARCHIV/" "$REPO:/$ARCHIV_DIR/$ARCHIV.zip" --log-file=$LOGBUCH logge "$(date) ERR: $?" logge "" logge "$(date) ------------------------------------------------------------" ########## 4 Archiv-Verzeichnis löschen ########## logge "$(date) ---- Archiv-Verzeichnis löschen ----" rclone purge -P --log-level=DEBUG "$REPO:/$ARCHIV_DIR/$ARCHIV/" --log-file=$LOGBUCH logge "$(date) ERR: $?" logge "" logge "$(date) - E N D E --------------------------------------------------" logge ""