# 🛟 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/<Datum-Zeit>`
- 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_
