# 🛟 Datensicherungsskript mit rclone Dieses Skript sichert regelmäßig Daten aus einer Nextcloud-Quelle in ein lokales Backup-Verzeichnis. Alte Versionen werden dabei archiviert. ## 📋 Funktionen - Synchronisiert ein Verzeichnis (`ptv-nextcloud:/DPV`) mit einem lokalen Ordner `./Backup/` - Verwendet `rclone --backup-dir`, um **ältere, geänderte oder gelöschte Dateien** in ein Archiv zu verschieben - Erstellt pro Lauf ein neues Archivverzeichnis unter `./Archiv/` - Protokolliert alle Vorgänge in rettedpv.log - Entfernt leere Verzeichnisse im Archiv ## 🧱 Verzeichnisstruktur ``` . ├── Backup/ # Aktueller Stand der Daten ├── Archiv/ │ └── 2025-07-03-15-30/ # Frühere Versionen └── rettedpv.sh # Das Backup-Script ``` ## 🚀 Cronjob-Eintrag (Beispiel) ```bash 0 * * * * /pfad/zum/script.sh ``` → Startet das Backup **jede Stunde zur vollen Stunde**. > 📌 Stelle sicher, dass `rclone` im Pfad ist und alle Pfade absolut angegeben sind, wenn das Skript per `cron` läuft. ## ⚙️ Voraussetzungen - `rclone` muss installiert und konfiguriert sein (Remote: `ptv-nextcloud`) - Schreibrechte auf das Arbeitsverzeichnis (`./Backup`, `./Archiv`, `./log.txt`) - GNU `date`, `find`, `mkdir` (standardmäßig in Linux vorhanden) ## 🔍 Logging & Fehlerbehandlung - Alle Logeinträge landen in `rettedpv.log` - Die Log-Datei liegt im örtlichen Gitea/logger/Logs-Verzeichnis - Fehler von `rclone` erscheinen dort mit Zeitstempel - Leere Verzeichnisse im Archiv werden automatisch gelöscht - Das optionale Script "rotate.sh" rotiert log.txt und verhindert, dass die Datei zu groß wird. ## 🛠 Wiederherstellung Die Dateien im `./Archiv/`-Ordner enthalten alte Versionen gelöschter oder veränderter Dateien. Du kannst sie manuell zurückkopieren. ## 🧪 Beispielausgabe (log.txt) ``` Thu Jul 3 15:30:01 CEST 2025 Starte Rettung… ... Thu Jul 3 15:35:12 CEST 2025 Lösche leere Verzeichnisse… Thu Jul 3 15:35:13 CEST 2025 Rettung beendet ``` ## 🔒 Sicherheitshinweis Dieses Skript **überschreibt** keine Daten, sondern nutzt versioniertes Backup über `--backup-dir`. Dennoch empfiehlt sich: - Nur auf vertrauenswürdigen Systemen auszuführen - Zugriff auf Backup-Ordner zu beschränken --- **Lizenz**: MIT **Autor**: _Alf_