72 lines
2.3 KiB
Markdown
72 lines
2.3 KiB
Markdown
# 🛟 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_
|