jfreundJFBackup
JFBackup
In Entwicklung

JFBackup

Sicherung und Wiederherstellung für Server, Agenten und Dateien.

Dedupliziert, verschlüsselt, nachvollziehbar. JFBackup bringt seinen eigenen Backup-Server mit: Du betreibst ihn auf einem Windows- oder Linux-Rechner, kleine Agenten sichern deine übrigen Computer, und in einer ruhigen Desktop-Konsole verfolgst du jeden Lauf. Gemacht für kleine Büros und Homelabs, die ihre Daten auf eigener Hardware behalten.

So funktioniert es
Plattformen
Windows · Linux
Programme
Konsole · Server · Agent · bcctl
Die Sicherungsjobs von JFBackup im dunklen Design: elf Jobs mit Typ, Quelle, Ziel und nächstem Lauf und dem Ergebnis des letzten Laufs als Abzeichen, meist Erfolgreich, Fehlgeschlagen beim Domänencontroller und Nie gelaufen bei einem Archiv-Job.
Die Sicherungsjobs mit dem Ergebnis ihres letzten Laufs, mit Demodaten. In der Titelleiste steht noch der Arbeitsname der App, BackupCraft.

Auf einen Blick sehen, was dich braucht

Übersicht · der letzte Lauf jedes Jobs · E-Mail und Web-Hooks

Die Übersicht zeigt, wie viel geschützt ist, was in den letzten 24 Stunden gelaufen ist, was fehlgeschlagen ist und wie voll deine Repositories sind. Was deine Aufmerksamkeit braucht, steht in einer Liste mit direktem Link.

  • Erfolgreichder letzte Lauf ist durchgelaufen
  • Fehlgeschlagenetwas ging schief, und die Übersicht sagt dir, was
  • Nie gelaufender Job ist noch nicht gelaufen

Auf Wunsch erreichen dich Fehler auch per E-Mail oder Web-Hook, dazu eine tägliche Zusammenfassung.

Alle Funktionen
Die Übersicht von JFBackup im hellen Design: Kacheln für geschützte Objekte, erfolgreiche Sitzungen, Fehler und Speicherbelegung, ein Balkendiagramm der Sitzungen der letzten 14 Tage, der freie Platz von drei Repositories und die Liste der Punkte, die Aufmerksamkeit brauchen.

Ein Server, Agenten auf deinen Rechnern

Windows und Linux · Kopplungscode oder SSH · Konsole und Kommandozeile

Der Backup-Server verwaltet die Zeitpläne, die Restore-Points und die Benutzer. Auf jedem Computer, den du schützen willst, läuft ein kleiner Agent: Du koppelst ihn mit einem Einmal-Code aus der Konsole, oder der Server installiert ihn per SSH auf einem Linux-Rechner. Beim ersten Start fragt dich der Einrichtungsassistent der Konsole, was aus dem Computer werden soll.

Server und Agenten vertrauen einander nur über Zertifikate der eigenen Zertifizierungsstelle des Servers (gegenseitiges TLS). Ein Agent liest nur in den Ordnern, die du freigibst, und führt nie Befehle aus. Du arbeitest in der Desktop-Konsole; Skripte nutzen bcctl, den Kommandozeilen-Client.

So sprechen die Teile miteinander
Du
  • KonsoleDesktop-App
  • bcctlKommandozeile, Skripte
Backup-Serverbackup-srv01
  • Jobs, Zeitpläne und Aufbewahrung
  • Sicherung und Wiederherstellung
  • Benutzer, Rollen und Audit-Protokoll
  • Eigene Zertifizierungsstelle
Agenten
  • fs01Windows Server 2022Online
  • mail01Debian 12Online
  • dev-vm07Ubuntu 22.04Offline
Repositories
  • Primär (NAS)71 % belegt
  • Offsite38 % belegt
  • Archiv93 % belegt
So greifen die Teile ineinander: Du sprichst mit dem Server, der Server mit seinen Agenten, und er schreibt in seine Repositories. Rechnernamen wie in den Demodaten.

Einmal gespeichert, verschlüsselt, signiert

Deduplizierung · Kompression · Verschlüsselung · Signaturen

Deine Backups brauchen wenig Platz und bleiben privat. JFBackup zerlegt Dateien nach ihrem Inhalt in Stücke, behält jedes Stück nur einmal und komprimiert und verschlüsselt es, bevor es geschrieben wird. Jeder Restore-Point ist signiert, so bleibt ein verändertes Backup nicht unbemerkt.

Restore-Points lassen sich unveränderlich machen. Benutzer bekommen eine von vier Rollen, vom Betrachter bis zum Administrator, jede Änderung landet im Audit-Protokoll, und ein Recovery-Kit bewahrt eine versiegelte Kopie des Repository-Schlüssels für den Tag auf, an dem du sie brauchst. Selbst Updates sind signiert und werden vor dem Einsatz geprüft.

Der Datenweg im Detail
Von der Datei zum Restore-Point
  1. Nach Inhalt zerlegtEin Stück endet dort, wo der Inhalt es vorgibt. Eine Änderung mitten in einer Datei betrifft nur die Stücke drumherum.FastCDC
  2. Nur einmal gespeichertEin Stück, das schon im Repository liegt, wird nur verwiesen, nicht noch einmal geschrieben. So kostet ein täglicher voller Restore-Point wenig Platz.BLAKE3-Kennungen mit Schlüssel
  3. Komprimiert und verschlüsseltJedes neue Stück wird einzeln gepackt und verschlüsselt, bevor es ins Repository geht.LZ4 oder zstd · XChaCha20-Poly1305
  4. VerschlüsseltSigniertUnveränderlich
    Ein signierter Restore-PointDer Restore-Point führt seine Stücke auf und ist signiert. Unveränderlich gemacht, lässt er sich nicht löschen, solange die Sperre gilt.Ed25519

Einmal planen, jeden Stand zurückholen

Zeitpläne in jeder Zeitzone · Großvater-Vater-Sohn · sorgfältige Wiederherstellung

Jobs laufen nach Zeitplänen in jeder Zeitzone und behalten ihre Restore-Points nach Anzahl und nach Großvater-Vater-Sohn, zum Beispiel 14 Punkte, 30 Tage, 8 Wochen und 12 Monate. Jeder Restore-Point ist ein vollständiges Abbild, du musst also nie eine Kette von Inkrementen zusammensetzen.

Zum Wiederherstellen wählst du einen Punkt auf der Zeitleiste und holst Dateien an ihren Originalort oder in einen anderen Ordner zurück. Vorhandene Dateien werden übersprungen, umbenannt oder ersetzt, wie du willst, und Benutzer mit der Rolle „Wiederherstellung“ überschreiben nie etwas.

Die Seite Wiederherstellung: links die Jobs, oben eine Zeitleiste mit 13 Restore-Points des Jobs Dateiserver – täglich und darunter die Liste dieser Punkte mit ihrer Größe, alle verschlüsselt, einige schon geprüft.

Eine zweite Kopie, bereit zum Einspringen

Kopierjobs für 3-2-1 · Replikate mit Failover · laufender Schutz · Band

Kopierjobs bringen deine Restore-Points in ein zweites Repository außer Haus, für die 3-2-1-Regel: drei Kopien, auf zwei Arten von Speicher, eine davon woanders. Ein Replikat hält den neuesten Stand eines Jobs in einem Ordner auf einem anderen Rechner bereit; fällt das Original aus, schaltest du darauf um und schreibst die Änderungen später zurück.

Ordner, die sich den ganzen Tag ändern, lassen sich laufend schützen, mit einem neuen Restore-Point kurz nach jeder Änderung. Eine virtuelle Bandbibliothek schreibt Restore-Points auf Bänder auf der Platte, die sich auch ohne Server lesen lassen.

Die Seite Replikation mit vier Standby-Replikaten und ihrem Zustand: Bereit, Fehler, Failover aktiv und Noch nicht abgeglichen, darüber der Hinweis, dass der Failover des Webservers aktiv ist.

Virtuelle Maschinen und ganze Laufwerke

QEMU/KVM · Sofortstart · Startprüfung · VSS und LVM

Auf einem Linux-Backup-Server sichert JFBackup virtuelle Maschinen unter QEMU/KVM im laufenden Betrieb und liest dabei nur die Blöcke, die sich seit dem letzten Mal geändert haben. Eine Maschine kann direkt aus einem Restore-Point starten, und die Startprüfung startet ein Backup abgeschottet, um zu zeigen, dass es noch hochfährt.

Ganze Volumes des Backup-Servers werden Block für Block gesichert, über eine Schattenkopie unter Windows (VSS) oder einen Snapshot unter Linux (LVM).

Die Startprüfungen: Restore-Points zweier virtueller Maschinen, jeweils gestartet und auf Start, Konsole und Port 443 geprüft; sieben Prüfungen bestanden, eine nicht.

Gebaut mit JFLib

JFBackup entsteht mit JFLib, einer GUI-Library, von Grund auf in Rust geschrieben. Verschlüsselung, Kompression, TLS und SSH, die Datenbank und die Tabellen und Diagramme der Konsole sind für diese App entstanden und gehören jetzt zur Library, für jede App, die darauf aufbaut.

Teil von jfreund.orgGebaut mit JFLibImpressumDatenschutz