In großen Organisationen dominieren beim Thema Backup oft Namen wie Veeam, Commvault oder Rubrik. Deren Produkte sind leistungsstark, aber häufig kostspielig und auf komplexe IT-Infrastrukturen zugeschnitten. Für kleinere Firmen, die ein flexibles und kosteneffizientes Sicherungswerkzeug bevorzugen, gibt es durchaus Alternativen. Wir stellen mit Restic, Borg und Duplicati drei beliebte Open-Source-Tools vor und erklären deren Handhabung.
Die drei von uns vorgestellten Tools bieten eine solide Basis für effiziente Backups, und das sogar in heterogenen IT-Umgebungen. Um die Nutzung praxisnah zu gestalten, betrachten wir einen konkreten Anwendungsfall – ein kleines Unternehmensnetzwerk mit Offsite-Backup und folgenden Komponenten:
- Drei Clients (Windows und macOS)
- Ein Linux-Server, der Anwendungen für Dokumentenmanagement und eine WordPress-Website betreibt
Die drei von uns vorgestellten Tools bieten eine solide Basis für effiziente Backups, und das sogar in heterogenen IT-Umgebungen. Um die Nutzung praxisnah zu gestalten, betrachten wir einen konkreten Anwendungsfall – ein kleines Unternehmensnetzwerk mit Offsite-Backup und folgenden Komponenten:
- Drei Clients (Windows und macOS)
- Ein Linux-Server, der Anwendungen für Dokumentenmanagement und eine WordPress-Website betreibt
- Die Offsite-Backups werden über einen Raspberry Pi 4 mit externer Festplatte realisiert
Die Anforderungen an das Sicherungswerkzeug sind klar definiert:
- Plattformübergreifende Funktionalität
- Verschlüsselte Backups
- Verwaltung von Offsite-Backups
- Einfache Konfiguration und Wartung
Einfach, aber gut: Restic
Restic [1] ist ein plattformübergreifendes Open-Source-Backuptool, das für seine Einfachheit, Sicherheit und Effizienz bekannt ist. Es unterstützt Linux, BSD, macOS und Windows und ermöglicht Sicherungen auf verschiedenen Speichermedien, einschließlich lokaler, selbstgehosteter und cloudbasierter Umgebungen.
Die Software wirbt unter anderem mit dem Designprinzip der Einfachheit: Restic lässt sich leicht konfigurieren und nutzen, seine Befehle sind intuitiv, sodass Sie Sicherungen mit minimalem Aufwand durchführen können. Was die Sicherheit betrifft, sollen moderne Verschlüsselungstechniken sicherstellen, dass Ihre Daten vertraulich und vor Manipulationen geschützt sind.
Nicht zuletzt hat sich Restic Verifizierbarkeit auf die Fahnen geschrieben: Es überprüft Backups auf ihre Integrität, was die Zuverlässigkeit Ihrer Daten gewährleistet.
Restic verwendet das Konzept der Snapshots, um die Zustände Ihrer Daten zu bestimmten Zeitpunkten zu speichern. Jeder Schnappschuss erscheint wie eine vollständige Sicherung, aber dank der Deduplizierung teilen sich Snapshots dieselben Datenblöcke, wenn diese unverändert geblieben sind. Das Tool speichert also nur geänderte oder neue Datenblöcke. Dies reduziert den benötigten Speicherplatz und beschleunigt den Backupprozess.
Erste Schritte mit Restic
Der zentrale Ort für die gesicherten Daten ist das Repository. Sie müssen nicht für jedes Backup ein separates Repository anlegen – ein einziges kann mehrere Backups von verschiedenen Systemen enthalten. Es empfiehlt sich jedoch, mehrere Repositories zu nutzen, wenn Sie besonders sensible Daten getrennt aufbewahren möchten oder unterschiedliche Aufbewahrungsrichtlinien für verschiedene Datensätze gelten.
Um Backups sicher an einem entfernten Ort zu speichern, nutzen wir den Raspberry Pi 4 mit einer externen Festplatte. Restic unterstützt als Speicheroptionen lokale Verzeichnisse, SFTP, HTTP-REST-Server, Clouddienste wie Amazon S3, Google Cloud Storage und über rclone noch weitere Anbieter.
Eines der Backups wollen wir auf der externen Festplatte des Raspberry 4 speichern. Hierzu verwenden wir den HTTP-REST-Server, den Sie mit nur wenigen Befehlen auf dem Pi bereitstellen. Das Offsite-Backup soll auf einem FTP-Server gespeichert werden, wofür wir das SFTP-Protokoll nutzen.
Auf dem Raspberry Pi richten Sie dazu zunächst den REST-Server mithilfe von Docker ein:
Für Windows-Clients laden wir zunächst das Restic-Binary herunter und fügen es unserem PATH hinzu. Ein Beispiel für einen Backup-Befehl könnte wie folgt aussehen:
Restic selbst bietet keine native grafische Benutzeroberfläche oder integrierten Monitoringfunktionen. Allerdings gibt es verschiedene Community-Projekte, die diese Lücke füllen. Zum Monitoring der Repositories gibt es beispielsweise verschiedene Exporter für Prometheus. Diese stellen Metriken bereit, die sich mithilfe von Prometheus überwachen lassen. Für diejenigen, die eine Benutzeroberfläche bevorzugen, gibt es zudem einige plattformübergreifende GUIs, darunter Restatic [2], eine grafische Anwendung für Restic.
Restic erfüllt somit alle Anforderungen unseres Anwendungsfalls. Es ist plattformübergreifend einsetzbar und unterstützt Windows, macOS und Linux, was die Sicherung der drei Clients und des Servers ermöglicht. Die integrierte Verschlüsselung gewährleistet sichere Backups, und die effiziente Verwaltung von Offsite-Backups über SFTP oder HTTP-REST-Server passt ideal zur Nutzung des Raspberry Pi 4. Zudem ist das Werkzeug recht einfach zu konfigurieren und zu warten, was den administrativen Aufwand minimiert.
Borg ist leistungsstark und platzsparend
BorgBackup, kurz Borg [3], ist ein Open-Source-Backuptool, das durch hohe Performance und effiziente Speicherverwaltung überzeugt. Es bietet integrierte Verschlüsselung und Authentifizierung, unterstützt verschiedene Kompressionsmethoden wie lz4 und zstd und ermöglicht das einfache Mounten von Backups mittels FUSE, sodass Sie Ihre Sicherungen wie ein Dateisystem durchsuchen können. Diese Funktionen machen Borg zu einem leistungsfähigen Werkzeug, insbesondere für Unix-basierte Systeme.
Borg ist unter der BSD-Lizenz veröffentlicht und kommt hauptsächlich auf Linux, macOS und BSD zum Einsatz. Dank einer großen und aktiven Community wird Borg kontinuierlich weiterentwickelt und verbessert. Ähnlich wie Restic arbeitet Borg auf Repository-Basis.
Das Repository ist der zentrale Speicherort für Ihre gesicherten Daten. Jedes Backup wird als sogenanntes Archiv im Repository gespeichert. Ein Archiv stellt den Zustand Ihrer Daten zu einem bestimmten Zeitpunkt dar.
Durch effiziente Deduplizierung und schnelle Kompressionsalgorithmen erfolgen Backups in der Regel sehr zügig. Borg unterstützt zudem verschiedene Kompressionsmethoden, was die Größe der Backups weiter reduziert.
Erste Schritte mit Borg
Borg lässt sich auf den meisten Unix-basierten Systemen einfach mit sudo apt install borgbackup installieren. Unter macOS über Homebrew lautet das Kommando entsprechend brew install borgbackup. Bevor Sie mit dem Backup beginnen, müssen Sie ein Repository initialisieren. Dabei können Sie wählen, ob Sie Ihre Daten verschlüsseln möchten:
borg init --encryption=repokey /<Pfad zum Repository>
Nach der Eingabe eines Passworts zeigt Borg den Hinweis an, neben Passphrase beziehungsweise Passwort auch den generierten Key zu speichern. Dies lässt sich wie folgt durchführen:
borg key export /<Pfad zum Repository> encrypted-key-backup
Um nun ein erstes Backup beziehungsweise Archiv zu erstellen, verwenden Sie den create-Befehl:
borg create /<Pfad zum Repository> ::<Name der Sicherung> /<Pfad zu den zu sichernden Daten>
Borg unterstützt verschiedene Kompressionsalgorithmen, die Sie beim Erzeugen eines Backups angeben können:
borg create --compression lz4 /<Pfad zum Repository>::<Name der Sicherung /<Pfad zu den zu sichernden Daten>
Neben der Standardeinstellung lz4 (sehr schnelle Kompression) stehen als Optionen noch zstd (ausgewogene Geschwindigkeit und Kompressionsrate), zlib (höhere Kompressionsrate, langsamer Vorgang) und lzma (maximale Kompression, am langsamsten) zur Auswahl.
Offsite-Backups mit Borg
Borg unterstützt lokale Dateisysteme und Remote-Repositories über SSH. Im Gegensatz zu Restic bietet Borg jedoch keine direkte Integration mit Clouddiensten wie Amazon S3 oder Google Cloud Storage. Das bedeutet, dass Sie für Offsite-Backups eigenständig eine Lösung finden müssen. Um Ihre Daten an einem externen Ort zu sichern, stehen Ihnen folgende Optionen zur Verfügung:
- Eigener Offsite-Server mit SSH-Zugang: Sie können einen zweiten Server an einem externen Standort einrichten, der über SSH erreichbar ist. Um das Repository auf dem Offsite-Server zu initialisieren, nutzen Sie borg init --encryption=repokey <user@offsite-server>:/ <Pfad zum Repository>. Mit dem Befehl borg create <user@offsite-server>:<Pfad zum Repository>::<Name der Sicherung> /<Pfad der zu sichernden Daten> übertragen Sie das Backup schließlich auf den Offsite-Server.
- Verwenden von rclone: Obwohl Borg keine native Unterstützung für Cloudspeicher bietet, können Sie Tools wie rclone verwenden, um Ihr lokales Borg-Repository mit einem Cloudspeicher zu synchronisieren. Dies erfordert zusätzliche Schritte und sorgfältige Planung, um die Konsistenz und Sicherheit Ihrer Backups zu gewährleisten. Ein Beispielbefehl für die Synchronisation mit rclone wäre rclone sync </Pfad zum Repository> remote:backup-folder
- Kostenpflichtige Anbieter: Es gibt spezialisierte Dienste wie BorgBase oder rsync.net, die Borg unterstützen und Ihnen Speicherplatz für Offsite-Backups zur Verfügung stellen. Diese Anbieter bieten SSH-Zugang und sind in der Regel kostenpflichtig, erleichtern jedoch die Einrichtung und Verwaltung von Offsite-Backups.
Die begrenzten Speicheroptionen von Borg können die Umsetzung von Offsite-Backups komplizierter gestalten. Im Vergleich zu Restic, das eine breite Palette an Speicherzielen unterstützt, erfordert Borg mehr Eigeninitiative und technische Kenntnisse, um ein zuverlässiges Offsite-Backup zu implementieren.
Sie müssen also zu jeder Zeit selbst dafür sorgen, dass der externe Speicherort sicher, erreichbar und für Ihre Anforderungen geeignet ist.
Verwalten von Archiven und Restore
Um mit Borg alle verfügbaren Archive im Repository anzuzeigen, nutzen Sie den Befehl borg list <Pfad zum Repository>. Um Daten aus einem bestimmten Archiv wiederherzustellen, sieht die Eingabe folgendermaßen aus:
borg extract <Pfad zum Repository>::<Name der Sicherung>
Mit Borg können Sie Archive mithilfe von FUSE mounten und wie ein Dateisystem durchsuchen:
borg mount <Pfad zum Repository>::<Name der Sicherung> /mnt/borg
Um bestimmte Archive zu löschen, nutzen Sie
borg delete <Pfad zum Repository>::<Name der Sicherung>
Borg erlaubt es, Aufbewahrungsrichtlinien zu definieren – beispielsweise, um nur die letzten sieben täglichen und vier wöchentlichen Backups zu behalten:
borg prune --keep-daily=7 --keep-weekly=4 <Pfad zum Repository>
Borg unterstützt Windows nicht nativ, aber Sie können das Windows Subsystem for Linux (WSL) verwenden, um Borg unter Windows einzusetzen. Installieren Sie WSL und eine Linux-Distribution, etwa Ubuntu aus dem Microsoft Store. Anschließend spielen Sie Borg innerhalb der Linux-Umgebung beispielsweise mit sudo apt install borgbackup auf.
Monitoring und GUIs
Borg bietet keine native grafische Oberfläche oder integrierte Monitoringfunktionen. Es gibt jedoch verschiedene Tools und Projekte aus der Community, die Ihnen helfen können.
Bei den GUIs wäre das zum Beispiel Vorta, das auf macOS und Linux läuft. Mit Vorta [4] können Sie Backups planen, Repositories verwalten und einfach Daten wiederherstellen. Bei BorgWeb [5] handelt es sich wie der Name andeutet um ein Webinterface zur Verwaltung von Borg-Backups.
Was das Monitoring betrifft, können Sie einfache Skripte erstellen, um die Exit-Codes von Borg zu überprüfen und Benachrichtigungen zu senden. Zudem gibt es Onlinetools wie "Healthchecks.io", die Ihnen helfen, den Status Ihrer Backups zu überwachen. Borg deckt insgesamt viele der von uns geforderten Kriterien ab, zeigt jedoch Schwächen bei der plattformübergreifenden Unterstützung und den verfügbaren Speicheroptionen. Während es auf Linux und macOS hervorragend funktioniert und verschlüsselte sowie platzsparende Backups ermöglicht, ist die Nutzung unter Windows nicht nativ möglich.
Ein weiterer Nachteil von Borg ist die begrenzte Auswahl an Backend-Providern für die Speicherung der Backups. Borg unterstützt hauptsächlich lokale Dateisysteme und Remote-Repositories über SSH, bietet jedoch keine direkte Verzahnung mit Clouddiensten. Die Einrichtung von Offsite-Backups über SSH auf dem Raspberry Pi ist zwar möglich, aber nicht so intuitiv und kann für weniger erfahrene Nutzer holprig sein.
Duplicati mit intuitiver Oberfläche
Duplicati [6] ist ein Open-Source-Tool, das durch Benutzerfreundlichkeit und seine intuitive grafische Oberfläche besticht. Es ist als kostenlose Version verfügbar sowie in kostenpflichtigen Varianten, die zusätzlichen Support bieten.
Duplicati fußt auf einer serverbasierten Architektur, was im Vergleich zu anderer Open-Source-Software wie Restic und Borg einen etwas höheren Implementierungs- und Wartungsaufwand bedeuten kann. Dennoch bietet dies den Vorteil, Backups automatisch planen und zentral verwalten zu können.
Ein besonderes Merkmal des Werkzeugs ist der Einrichtungsassistent, der Sie Schritt für Schritt durch die wichtigsten Einstellungen führt:
- Backupname: Geben Sie einen eindeutigen Namen für Ihr Backup an.
- Verschlüsselung: Wählen Sie aus verschiedenen Verschlüsselungsmethoden etwa AES-256, um Ihre Daten sicher zu übertragen und zu speichern.
- Zielort: Duplicati unterstützt eine Vielzahl von Speicheranbietern, darunter lokale Verzeichnisse, FTP, Amazon S3, Google Drive, OneDrive, Backblaze B2 und viele mehr.
- Zeitplan: Legen Sie fest, wann und wie oft Backups automatisch ablaufen sollen.
- Aufbewahrungsregeln: Bestimmen Sie, wie lange Backups gespeichert werden sollen, um Speicherplatz effizient zu nutzen.
Die Software ist für Windows, macOS und Linux verfügbar, was sie zu einem idealen Tool für Unternehmensnetzwerke mit unterschiedlichen Betriebssystemen macht. Die einfache Installation und der einheitliche Umgang auf allen Plattformen erleichtern die Verwaltung der Backups. Duplicati bietet wie erwähnt eine breite Unterstützung für Cloudspeicher und kann somit Offsite-Backups effizient verwalten.
Erweiterte Funktionen über die Kommandozeile
Neben seiner grafischen Oberfläche kommt Duplicati außerdem mit einem Kommandozeilen-Interface (CLI), mit dem sich Backups äußerst detailliert anpassen und automatisieren lassen. An dieser Stelle ist es wichtig zu erwähnen, dass die CLI-Version für Linux und macOS auf Mono, einer Open-Source-Implementierung des .NET Frameworks, basiert. Hier ein Beispiel für ein Backup über die Kommandozeile:
Die Wiederherstellung von Backups kann sowohl über die grafische Oberfläche als auch über die Kommandozeile erfolgen. Duplicati ermöglicht es Ihnen ferner, E-Mail-Benachrichtigungen einzurichten, um über den Status Ihrer Sicherungen informiert zu bleiben. So können Sie sich beispielsweise bei Fehlern oder nach erfolgreichem Abschluss eines Backups benachrichtigen lassen. Duplicati bietet somit mit seiner plattformübergreifenden Unterstützung und benutzerfreundlichen Oberfläche eine einfache Möglichkeit, Windows-, macOS- und Linux-Systeme zu sichern. Die integrierte Verschlüsselung und die Vielzahl an Speicherzielen erfüllen die Anforderungen an sichere Offsite-Backups.
Allerdings schränkt die grafische Benutzeroberfläche von Duplicati die Flexibilität ein, die Tools wie Restic und Borg bieten. Während das GUI für einfache Anwendungsfälle vorteilhaft ist, kann sie fortgeschrittene Nutzer in den Konfigurationsmöglichkeiten begrenzen.
Restic und Borg ermöglichen durch ihre Kommandozeilen-Tools und Skriptfähigkeit eine feinere Kontrolle und Anpassung der Backupprozesse. Diese Freiheit ist besonders in komplexen IT-Umgebungen wertvoll, wo spezifische Anforderungen und Automatisierungen notwendig sind.
Zudem kann die Abhängigkeit von der grafischen Oberfläche in Duplicati zu Einschränkungen führen, wenn es um die Integration in bestehende Systeme oder auch die Nutzung fortgeschrittener Features geht.
Fazit
Die Auswahl des geeigneten Backuptools hängt maßgeblich von den spezifischen Anforderungen und der vorhandenen IT-Infrastruktur ab. Restic überzeugt durch seine herausragende Sicherheit und seine effiziente Deduplizierung mittels Sliding-Window-Technologie. Diese Eigenschaften machen das Werkzeug ideal für Unternehmen, die eine sichere und effiziente Backupstrategie suchen. Allerdings beansprucht Restic bei großen Datenmengen, gerade beim Mounten von Sicherungen, einen sehr hohen RAM-Anteil, was in ressourcenbeschränkten Umgebungen problematisch sein kann.
Borg punktet mit exzellenter Kompression und Deduplikation, was insbesondere für Linux-basierte Server von Vorteil ist. Die Software verbraucht weniger RAM bei Operationen wie Pruning und Verifizierung von Repositories, was sie effizienter im Ressourcenmanagement macht. Im Vergleich zu Restic bietet Borg weniger Möglichkeiten zur Integration mit Cloudprovidern, was die Flexibilität bei Offsite-Backups einschränkt. Die Nutzung unter Windows erfordert das Windows Subsystem for Linux (WSL), was die Implementierung komplexer gestaltet.
Duplicati wiederum eignet sich vor allem für Nutzer, die ab Werk auf ein stimmiges GUI Wert legen.