diff --git a/rcloner.sh b/rcloner.sh new file mode 100644 index 0000000..71291aa --- /dev/null +++ b/rcloner.sh @@ -0,0 +1,34 @@ +## 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/1" # Verzeichnis auf dem Repo, in das die Dateien gesichert werden sollen +QUELLE="$HOME/Dokumente" # 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 +# Nur letztes Log erhalten +rm $LOGBUCH +touch $LOGBUCH + +########## 2 Synchronisieren ########## +echo "---- Synchronisieren ----" +echo "Archiv: $ARCHIV_DIR/$ARCHIV" +rclone sync -P "$QUELLE/" "$REPO:/$REPO_DIR/" --backup-dir="$REPO:/$ARCHIV_DIR/$ARCHIV" --log-file=$LOGBUCH +echo "ERR: $?" + +########## 3 Archiv packen ########## +echo "---- Packen ----" +rclone archive create -P "$REPO:/$ARCHIV_DIR/$ARCHIV/" "$REPO:/$ARCHIV_DIR/$ARCHIV.zip" --log-file=$LOGBUCH +echo "ERR: $?" + +########## 4 Archiv-Verzeichnis löschen ########## +echo "---- Archiv-Verzeichnis löschen ----" +rclone purge -P "$REPO:/$ARCHIV_DIR/$ARCHIV/" --log-file=$LOGBUCH +echo "ERR: $?" + + +