Ubuntu Backup mit BorgBackup – Teil 1

Heute möchte ich kurz beschreiben, wie ich die Daten von meinen Ubuntu-Systemen sichere. Ich nutze dazu Borg (oder auch BorgBackup bezeichnet), da dieses recht einfach zu benutzen ist und kostenfrei ist. Beginnen wir mit der Konfguration.

Der Backup Server

Der Backup-Server kümmert sich um die Speicherung und Verwaltung der Backup-Daten. Das System ist ebenfalls ein Ubuntu in der aktuellen LTS-Version. Die Installation funktioniert wie gewohnt mit apt.

Nach der Installation habe ich einen eigenen Benutzer angelegt, mit dem das Backup durchgeführt wird.

Nun muss ein neuer Ordner erzeugt werden, in dem die Backup-Daten gespeichert werden. Pro Server verwende ich einen eigenen Unterordner, um eine genaue Zuordnung der Dateien zu haben. Nach der Erstellung des Ordners muss dieser einmalig initialisiert werden.

Denken Sie daran, dass der borgbackup-Benutzer schreibenden Zugriff auf dieses Verzeichnis benötigt. Nun sind wir erst einmal mit der Installation fertig und wechseln auf den ersten Server, der gesichert werden soll.

Die Einrichtung des Backups auf dem ersten Server

Auf dem ersten Server, den wir sichern möchten, muss natürlich auch die Installation von Borg gemacht werden.

Nach der Installation generieren wir uns für den root-Benutzer ein Schlüsselpaar, mit dem wir uns später am Backup-Server authentifizieren können.

Der Schlüssel wird standardmäßig unter

abgespeichert. Wir müssen nun den öffentlichen Teil des Schlüssels auf dem Backup-Server eintragen, damit ein Zugriff per Key möglich ist. Öffnen Sie dazu die Datei id_ed25519.pub und fügen Sie den Inhalt auf dem Backup-Server in der folgenden Datei ein:

Nun muss das eigentliche Backup-Skript erstellt werden, was die Daten und ggf. Datenbanken sichert. Ich halte mich hier an den Beitrag von Thomas Leister Server-Backups mit Borg: So sichere ich meine Server, habe aber die Syntax angepasst, da ich Probleme mit dem Aufruf des Skripts hatte und ein paar Schritte (unter anderem für mich selbst) etwas ausführlicher beschreibe.

Dieses Script erzeugt eine Liste der installierten Software, macht einen Dump von gewünschten Datenbanken mit Hilfe von einem eigenen Skript und sichert sämtliche Daten in den Verzeichnissen in Zeile 24 bis 26. Dieses Skript kann natürlich noch beliebig erweitert werden.

Denken Sie daran, dass Skript ausführbar zu machen!

Das Backup der Datenbanken

Während dem Aufruf des Backup-Skripts wird ein zweites Skript ausgeführt, welches sich um die Datenbanken auf dem System kümmert. Diese Datei sieht in meinem Fall wie folgt aus.

Die beiden Datenbanken wordpress und phpmyadmin werden in das Verzeichnis /root/backup/dbdumps kopiert, welches wiederum dann in dem Borg-Backup enthalten ist.

Auch dieses Skript muss ausführbar sein!

Das Anlegen des Datenbank-Backup-Benutzers

Um das Datenbank-Skript erfolgreich ausführen zu können, muss der angegebene Benutzer vorhanden sein. Diesen kann man auf der Konsole wie folgt anlegen:

Das erste Backup

Um zu prüfen, ob ein Backup nun funktioniert, kann das Backup-Skript nun per Hand aufgerufen werden. Beim ersten Aufruf wird gefragt, ob der SSH-Schlüssel im Speicher abgelegt werden darf. Bestätigen Sie dies, danach erscheint kein weiterer Aufruf. Klappt nun alles, wird das erste Backup erzeugt und auf dem Backup-Server gespeichert.

Automatisierung des Backups

Damit automatisch ein Backup erzeugt wird (z.B. jede Nacht), muss ein Cronjob angelegt werden. Hierzu führen wir ein crontab als root aus:

Am Ende des datei fügen wir nun unser Backup-Skript hinzu mit der gewünschten Zeit. In meinem Fall soll das Backup jeden Abend um 22 Uhr laufen.

Fazit

Im ersten Teil haben wir gelernt, wie man ein Backup mit Borg einrichtet. Im zweiten Teil widmen wir uns den erweiterten Optionen, dem Aufräumen von veralteten Backups, einer zusätzlichen Absicherung der SSH-Verbindung sowie einem möglichen Restore der Daten.

Jan

Jan Kappen arbeitet sein 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Seit September 2018 ist Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Ein Kommentar:

  1. Pingback:Ubuntu Backup mit BorgBackup - Teil 2 - Jans kleiner Blog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.