Ghostboard pixel

Teile einer Sicherungskopie mit Borgbackup direkt wiederherstellen

Ich hatte in der Vergangenheit einen Artikel darüber geschrieben, wie man ein inkrementelles Backup erstellen mithilfe von „Borgbackup“. Diese Anleitung, wie man eine Sicherungskopie mit Borgbackup erstellt, könnt ihr hier nachlesen. Verlangende Woche bekam ich ein Problem, ich hatte aus Versehen eine Konfigurationsdatei meines Matrix-Servers gelöscht. Nun musste natürlich die Sicherungskopie der letzten Nacht wieder her. Herunterladen und entpacken und mühselig nach der Datei suchen, würde gehen. Das ist aber nicht Sinn der Sache. Hier jetzt die Anleitung, wie das Extrahieren einzelner Dateien klappt. Als Beispiel nenne ich das Wiederherstellen der Konfigurationsdatei vom Matrix Server.

Sicherungskopie inkrementell erstellen

Vorbereiten und Sicherungskopie auflisten

Zuerst müsst ihr euch den Key besorgen von eurer Sicherung. Meine liegt in /usr/local/bin/backup.sh.

Dann geht es an das Verbinden mit dem Backupserver und das abschließende auflisten der Backupdateien. Das geht mit einem Kommando.

sudo borg list ssh://u12345@u12345.your-storagebox.de:23/./backups/Server
Enter passphrase for key
ssh://u12345@u12345.your-storagebox.de:23/./backups/Server:

Die Ausgabe sollte ähnlich wie diese aussehen:

[81db4a807b7550fc2df4e23f558a856263c5c7109f08b6b0bd62c79d350f4a7c]
2021-12-11_00:00                     Sat, 2021-12-11 00:00:51 [b0595b3ab110cd58e97b87147a215be7a62340a450492ccddb61218ad9bb2e0d]
2021-12-12_00:00                     Sun, 2021-12-12 00:00:25 [af6c77957c78aa5d8a721d28b22c18523d6eb70251e92613b1d6a9f66816684c]
2022-02-20_00:00.checkpoint          Sun, 2022-02-20 00:00:27 [31cf906ddf4db441189b9dc86a4ae1b447be08d14910cc6877004f29636f7bd4]
2022-02-21_00:00.checkpoint          Mon, 2022-02-21 00:00:23 [49a1dd8ff0c60fdf3a57f583c111ccb9e498a495a8a03f8ed411638d13c4d3a1]
2022-02-22_00:00                     Tue, 2022-02-22 00:00:50 [2dd22fefaca2e9ac22990e49b3d6c1b2878ed74c900dd2431228c2b6ca5352c2]
2022-02-23_00:00                     Wed, 2022-02-23 00:00:48 [14b6abdcb696a00025793888dbcc66efd3e794845190c761ff2473e13e883edf]

Ich entscheide mich für das zuletzt erstellte Backup 2022-02-23_00:00. Nun muss die benötigte Datei aus dieser Sicherungskopie extrahiert werden. Damit die Datei nicht irgendwohin extrahiert wird, bin ich zuerst in das Verzeichnis gewechselt, wo ich die wiederhergestellte Datei benötige.

cd /opt/matrix-docker-ansible-deploy/inventory/host_vars/

Dann nach der Datei im Backup gesucht und schließlich auch gefunden. Die Ausgabe sieht so aus.

sudo borg list ssh://u12345@u12345.your-storagebox.de:23/./backups/Server::2022-02-22_00:00 | grep "vars.yml"
Enter passphrase for key

ssh://u12345@u12345.your-storagebox.de:23/./backups/Server:
-rw-r--r-- root   root       1605 Sat, 2022-02-12 18:27:25 opt/matrix-docker-ansible-deploy/examples/vars.yml
-rw-r--r-- root   root      13998 Mon, 2022-02-21 11:39:25 opt/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml
-rw-r--r-- root   root       5124 Thu, 2021-10-07 23:29:29 opt/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml.backup
-rw-r--r-- root   root       1655 Thu, 2021-10-07 23:29:29 opt/matrix-docker-ansible-deploy/matrix-docker-ansible-deploy/examples/vars.yml
-rw-r--r-- root   root       8949 Fri, 2021-11-12 16:33:40 opt/matrix-docker-ansible-deploy/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml
-rw-r--r-- root   root       5124 Thu, 2021-10-07 23:29:29 opt/matrix-docker-ansible-deploy/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml.backup
-rw-rw---- matrix matrix    13998 Mon, 2022-02-21 11:40:27 matrix/vars.yml
-rw-r----- matrix matrix     7734 Sat, 2021-10-09 08:40:54 matrix/matrix/vars.yml

Hier hatte ich mich für die Datei opt/matrix-docker-ansible-deploy/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml entschieden, dies konnte dann mit dem abschließendem Befehl extrahiert werden.

sudo borg extract ssh://u12345@u12345.your-storagebox.de:23/./backups/Server::2022-02-22_00:00 opt/matrix-docker-ansible-deploy/inventory/host_vars/matrix.fulda.social/vars.yml . 

Danach ist das wiederherstellen abgeschlossen.