47 lines
2.0 KiB
Bash
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 ""
|
|
|