Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe
allgemeine Kategorie => Welches Linux-Programm verwende ich anstelle von xyz (Windows)? => Thema von: Sebastian am 27. Dezember 2019, 15:12:46

Titel: BorgBackup
Beitrag von: Sebastian am 27. Dezember 2019, 15:12:46

Hallo Suletuxe,

ich möchte euch ein Backup Programm vorstellen. Und zwar

BorgBackup

Website: borgbackup.org (https://borgbackup.org)
Dokumentation: borgbackup.readthedocs.io (https://borgbackup.readthedocs.io/)
Arch Package: borg (https://www.archlinux.org/packages/community/x86_64/borg/)

Was ist BorgBackup?

BorgBackup ist ein de duplizierendes Backup Programm, das Wert auf Sicherheit legt.

Was bedeutet de Duplizierung?

De Duplizierung bedeutet das Daten nicht doppelt abgespeichert werden. Mit anderen Worten, wenn "Datei A" im Ordner "Ordner A" und im Ordner "Ordner B" liegt, ist die "Datei A" trotzdem physikalisch nur einmal abgespeichert worden. Das spart natürlich einiges an Speicherplatz, wenn Dateien nicht unnötigerweise doppelt gespeichert werden müssen. Das ist dabei aber noch nicht alles.
Denn BorgBackup geht um Dateien zu de duplizieren noch ein schritt weiter.

Es vergleicht dabei nicht nur, ob eine Datei doppelt ist, aufgrund dessen wie diese heißt oder andere Meta Daten (wie Datum, größe usw. also auf Dateisystem ebene) nein es vergleicht die Dateien auf der Blockebene.

Das bedeutet, wenn der Inhalt einer Datei auch nur bruchstückhaft gleich ist, wie der Teil einer anderen Datei dann wird dieser Teil auch nicht doppelt abgespeichert, da er ja schon mal gesichert wurde.
Erreicht wird das dadurch das BorgBackup die Dateien in kleine Stücke zerlegt (sogenannte Chunks). Von diesen Chunks eine Hash Summe errechnet und wenn diese Hash Summe schon im Backup (Repository) vorhanden ist, also das Stück schon mal abgespeichert wurde, dann muss es nicht noch einmal gesichert werden.
Bedeutet also auch das es später völlig egal ist ob man eine Datei umbenannt oder in einen anderen Ordner verschiebt der Inhalt einer Datei hätten sich nicht geändert und somit muss die Datei nicht noch einmal gesichert werden.

Optional werden die Daten natürlich noch vor dem Abspeichern mit einem Kompressions-Algorithmus (z.B. zstd) komprimiert.

Durch diese de Duplizierung und Komprimierung nimmt ein Backup Repositorie nicht unötigen Speicherplatz ein.

Was macht BorgBackup für die Sicherheit denn jetzt?

BorgBackup bietet zu einmal an das Repository Optional zu verschlüsseln. Dadurch kann man auch unbesorgt eine Kopie der Daten bei jemanden anderen lagern (z. B. bei einem Cloud-Anbieter oder bekannten) ohne befürchten zu müssen das diese in die Daten schauen können.
Ein weiterer Vorteil eines Verschlüsselten Repositorys ist der, das BorgBackup sogar in der Lage ist Manipulationen an den verschlüsselten Daten zu erkennen (Warum das auch jemals jemand machen wollte). Und der Benutzer würde dem entsprechen beim nächsten Öffnen des Repositorys informiert werden.

Außerdem sorgt BorgBackup beim Sichern der Daten auch dafür, das diese wirklich auf dem Datenträger sicher gespeichert wurden. Dafür leitet es hin und wieder ein sync ein das dafür sorgt, dass die Daten auf dem Datenträger geschrieben werden und nicht in irgendeinem Cache noch liegen. Heißt, wenn BorgBackup fertig mit dem Backup ist, dann kann man sich sicher sein, das alle Daten bereits auf dem Datenträger geschrieben wurden.

Zudem da BorgBackup für seine Chunks Hashwerte speichert, wird bei einem Backup auch Bit rot erkannt. Das bedeutet BorgBackup markiert diesen Chunk als defekt, weil dort ein Bit umgekippt ist. Der Clou an der Sache ist nun der, falls BorgBackup bei einem zukünftigen Backup der Daten dieser Chunk wieder vorkommt dann kann BorgBackup diesen aus dem Original Daten wiederherstellen. Dies passiert alles Automatisch beim Backup Vorgang. Heißt so lange man irgendwo noch die gesicherten Daten hat, kann sich das Repository selbst heilen, indem fehlende Teile einfach wieder durch ihre Originale ersetzt werden.

Dauert so ein Backup nicht Lange?

Da diese Art des Backups ein sogenanntes Vollbackup ist und kein Inkrementelles sollte man meinen das so etwas ewig lange brauch.
Um diesen Prozess zu beschleunigen, läuft ein Backup deswegen so ab.

BorgBackup legt während des Backups einen Hash Cache an. Dann beim nächsten Backup passiert folgendes

  • BorgBackup überprüft anhand von ctime,size,inode (Standard Einstellung) ob die Datei sich verändert haben könnte. Haben sich diese Meta Daten geändert dann erzeugt BorgBackup noch einmal einen Hash Wert und vergleicht diesen mit dem Hashwert für diese Datei im Repository.
  • Haben sich dabei nur die Metadaten geändert dann werden diese nur gesichert. Ansonsten nur der veränderte Dateiinhalt.
  • Und auch, wenn sich der Dateiinhalt verändert hat, Chunkt Borgbackup diesen und erstellt neue Hash Werte, komprimiert und übertragt nur den veränderten Teil in das Repository.


  • Dadurch läuft nach dem ersten Backup das zweite und die darauf folgenden Backups super schnell ab und man hat trotzdem ein Vollbackup und nicht die Nachteile von einem Inkrementellen Backup. Wie z.B. fehlt mir Backup 3 von insgesamt 5 Backups, dann ist alles bis zum Backup 3 Verloren.

    Wenn BorgBackup meine Dateien zerlegt, dann bedeutet dies doch auch das ich meine Dateien mit meinem Dateimanager nicht mehr abrufen kann, oder?

    Jein, prinzipiell richtig man kann in so einen Repository nicht einfach mit einem Dateimanager hereinschauen und sich eine Datei einfach wieder herauskopieren.
    Aber mithilfe von BorgBackup ist es möglich so ein Repository per fuse zu mounten. Bedeutet dadurch das man es mountet wird der Zugang für einen Dateimanager oder anderen Tools diese Möglichkeit wieder geboten.
    Also Ja man brauch BorgBackup um seine Daten wiederherstellen zu können. Aber dies geht dann auch mithilfe seines Dateimanagers um z. B. mal eben schnell eine Datei aus seinem Backup zu ziehen.

    Was bietet BorgBackup sonst noch?

    • Borgbackup kann ein Backup sicher über SSH durchführen.
    • Borgbackup folgt wie Arch auch das KISS-Prinzip (https://wiki.archlinux.de/title/KISS-Prinzip)
    • Freie Software (BSD license)
    • und noch weitere ...


    • Ich persönlich benutzte BorgBackup schon lange und habe mit diesem endliche GB Speicher gespart. Denn ich habe teilweise meine Daten doppelt auf meinen PC zu Hause und auch auf dem Notebook für unterwegs. Deswegen lege ich einfach ein Backup von beiden Systemen mit BorgBackup an und vermeide somit Redundanz.

Titel: Re:BorgBackup
Beitrag von: Andreas am 27. Dezember 2019, 17:43:53

Und das erfreuliche:

Man braucht bei Arch dieses nette Tool NICHT "neben dem Paketmanager" installieren - es befindet sich sowohl das Tool als auch einige grafische Oberflächen dazu in den Community-Repos und in den AURs:
Code:
[andreas@arch-c2l ~]$ yay -Ss borg backup
aur/emborg 1.12-1 (+0 0.00%)
Front-end to Borg backup
aur/borgit 0.0.4-1 (+0 0.00%)
Write your Borg backup jobs with sourced bash configuration files
aur/python-borgmatic-git 1.1.7.r3.gf3d6d7c-2 (+0 0.00%)
a simple Python wrapper script for the Borg backup software
aur/borg-import-git 1-1 (+0 0.00%)
Import backups from some other backup software into Borg
aur/snapback 4-1 (+1 0.00%)
Set of scripts to glue together snapshot capabilities from btrfs and backup solutions from borg in a reliable and automated way.
aur/snapback-git 1.r0.aff9eeb-1 (+1 0.00%)
Set of scripts to glue together snapshot capabilities from btrfs and backup solutions from borg in a reliable and automated way.
aur/borg-arm-bin 1.1.10-1 (+1 0.01%)
Borg backup - prebuilt standalone ARM binary
aur/luky-borg-backup 1.0.3-2 (+2 0.01%)
Automated backup scripts using Borg Backup, systemd and optionally Nextcloud/ownCloud/Stack
aur/borg-git 1.2.0a4.r32.g20756bd3-1 (+11 0.02%)
Deduplicating backup program with compression and authenticated encryption
aur/vorta 0.6.23-1 (+11 1.03%)
A GUI for BorgBackup
aur/borg-bin 1.1.10-1 (+12 0.26%)
Borg backup - prebuilt standalone binary
community/perl-app-borgrestore 3.4.0-1 (38.9 KiB 71.0 KiB)
Restore paths from borg backups
community/borgmatic 1.4.21-1 (79.3 KiB 421.9 KiB)
Simple, configuration-driven backup software for servers and workstations
community/borg 1.1.10-3 (1.0 MiB 5.3 MiB)
Deduplicating backup program with compression and authenticated encryption


LG
Andreas

Titel: Re:BorgBackup
Beitrag von: Sebastian am 27. Dezember 2019, 18:14:32

Danke Andreas, dass du das noch mal hervorgehoben hast. Denn Link, den ich oben auf das Arch Repo gelegt habe, geht vielleicht ein bisschen unter. :)


Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.