Files
rclonecloner/rcloner.sh
2026-03-09 12:02:32 +00:00

47 lines
2.0 KiB
Bash

## 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="gdrive2" # Bezeichnung des rclone-Repos, Muss bereits angelegt worden sein
REPO_DIR="tmp" # Verzeichnis auf dem Repo, in das die Dateien gesichert werden sollen
QUELLE="$HOME/Dokumente/nach SPZSSH" # 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.)
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 ""