2.3 KiB
2.3 KiB
🛟 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)
0 * * * * /pfad/zum/script.sh
→ Startet das Backup jede Stunde zur vollen Stunde.
📌 Stelle sicher, dass
rcloneim Pfad ist und alle Pfade absolut angegeben sind, wenn das Skript percronläuft.
⚙️ Voraussetzungen
rclonemuss 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
rcloneerscheinen 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