nextcloud-borg-backup
Verifizierte, versionierte Sicherung von Nextcloud auf das Synology-NAS. Die Workstation liest Nextcloud: direkt mit rclone, prüft einen privaten lokalen Zwischenstand und erstellt daraus verschlüsselte Borg-Archive auf /net/thor/volume1/NetBackup/Nextcloud/borg-repo. Der Desktop-Mount ~/Nextcloud ist unabhängig davon.
Die Übertragung geht ausschließlich von Nextcloud zum NAS. Dateien werden in Nextcloud weder geändert noch gelöscht. Das NAS enthält eine Borg-Historie, keinen gewöhnlichen Dateispiegel; gelöschte oder überschriebene Dateien bleiben aus älteren Archiven wiederherstellbar.
Schutz und Zeitplanung
- Alle 15 Minuten wird geprüft, ob eine Sicherung fällig ist; nach Erfolg frühestens nach 24 Stunden. Fehler werden beim nächsten Timerlauf erneut versucht, auch nach Neustart oder Aufwachen.
- Eigene direkte Cloud-Verbindung ohne FUSE-Verzeichnis-Cache. Vollständige Inventur vor und nach der Übertragung; Abbruch bei Dateiänderungen während des Laufs; wechselnde WebDAV-Prüfsummen werden zusätzlich inhaltlich geprüft.
- SHA1/MD5-Prüfung des Zwischenstands gegen Nextcloud. Dateien ohne Serverhash werden vollständig neu gelesen und per Downloadvergleich geprüft.
- Vor und nach der Cloud-Übertragung: Prüfung des tatsächlichen NFS-Mounts, des vorhandenen Repositorys und des freien Speicherplatzes. Keine automatische Repository-Neuanlage im Backup.
- Schutz vor leerer Quelle, Rückgang von Dateizahl oder Datenmenge um mehr als 20 Prozent und mehr als 1.000 Löschungen im lokalen Zwischenstand.
- Jeder neue Borg-Stand wird vollständig auf Lesbarkeit und Datenintegrität geprüft; Dateizahl und Bytezahl müssen zur Cloud-Inventur passen. Erst dann gilt der Lauf als bestätigt.
- Vier Wochen Historie, zusätzlich mindestens sieben Archive; Bereinigung ausschließlich nach erfolgreicher Sicherung. Fehlgeschlagene Wartung wird separat erneut versucht.
- Unabhängiger stündlicher Alterswächter: Desktop-Warnung bei mehr als 36 Stunden ohne bestätigte Sicherung. Warnungen maximal alle sechs Stunden, Fehler und Details im Journal.
Installation / Update
Voraussetzungen: Linux, systemd User Manager, Python 3.9+, Borg 1.x (getestet mit 1.4.5), rclone, util-linux (findmnt, flock), GNU coreutils und optional notify-send. rclone muss Nextcloud: bereits authentifiziert kennen; das NAS wird durch das vorhandene autofs eingebunden.
cd ~/localdev/nextcloud-borg-backup
make check
./scripts/install.sh
systemctl --user start --no-block nextcloud-borg-backup.service
journalctl --user -u nextcloud-borg-backup.service -f
Bestehende Konfiguration, Passphrase und Historie bleiben erhalten. Neue Einstellungen haben kompatible Standardwerte; siehe etc/config.example. Für neue Installationen: Konfiguration und NAS prüfen, das Repository einmal ausdrücklich mit nextcloud-borg-backup init anlegen. Das Backup selbst legt niemals ein Ersatzrepository an.
Der lokale Zwischenstand benötigt ungefähr die Datenmenge der Cloud. Zusätzlich fordert der konservative Speichercheck vor jedem Lauf noch einmal diese Datenmenge plus 5 GiB freien Speicher. Ein Zwischenstand gehört auf einen privaten lokalen Datenträger, niemals auf den Desktop-Mount.
Betrieb und Wiederherstellung
nextcloud-borg-backup health # JSON, Exit 0: aktuell, Exit 2: überfällig
nextcloud-borg-backup backup # sofortiger manueller Lauf
nextcloud-borg-backup backup --if-due # wie der Timer
nextcloud-borg-backup list
nextcloud-borg-backup info
systemctl --user list-timers 'nextcloud-borg-*'
nextcloud-borg-backup restore "" "Dokumente/Beispiel.pdf" ~/Restore-Test
nextcloud-borg-backup mount
nextcloud-borg-backup umount
Eine manuelle Sofortsicherung kann lange dauern. Das Archiv wird erst nach erfolgreicher Datenprüfung als bestätigt markiert. health zeigt auch die letzte fehlgeschlagene Phase; status zeigt die herkömmlichen Borg-Informationen.
Die Passphrase in ~/.config/nextcloud-borg-backup/passphrase und ein Borg-Schlüsselexport gehören zusätzlich an einen sicheren unabhängigen Ort. Niemals ins Repository einchecken. Der lokale Zwischenstand ist unverschlüsselt; seine Dateirechte sind privat, eine Datenträgerverschlüsselung richtet dieses Projekt nicht ein.
Details, Fehlerbehandlung, Grenzen und Abnahme: Dokumentation.md.
Abnahme am 26.10.2026
Auf der Workstation eingerichtet und produktiv geprüft: 8.218 Dateien, 38.274.641.627 Bytes, Archiv nextcloud-2026-10-26_12-48-01. Vollständige Archivdatenprüfung und Repository-Prüfung erfolgreich. Drei Dateien aus dem NAS-Archiv wiederhergestellt und per SHA-256 mit dem geprüften Zwischenstand verglichen: alle identisch. health meldet healthy: true; beide Timer sind aktiv. 18 automatisierte Tests bestanden. Details stehen in der Betriebsdokumentation.