BorgBackup (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) |
Matt (Diskussion | Beiträge) |
||
Zeile 98: | Zeile 98: | ||
== Backup wiederherstellen == | == Backup wiederherstellen == | ||
borg extract | Backup wiederherstellen aus lokalem repository (remote Respository analog oben) ins aktuelle Verzeichnis. | ||
borg extract [options] /path/to/repo::archive [paths] | |||
Wenn <code>[paths]</code> nicht angegeben wird, wird das Backup vollständig wiederhergestellt. | |||
borg extract --list -- | |||
Optionen: | |||
<code>--list</code> listet Dateien und Verzeichnisse auf | |||
<code>--progress</code> zeigt Fortschritt an | |||
<code>-n</code> oder <code>--dry-run</code> führt eine Wiederherstellung nicht aus, zeigt nur den Output | |||
Beispiel: | |||
borg extract --list --progress /path/to/repo::archive dir1/file1 | |||
== Archiv mounten == | == Archiv mounten == | ||
Zeile 108: | Zeile 119: | ||
Verzeichnis erstellen und gesamtes Repository mounten: | Verzeichnis erstellen und gesamtes Repository mounten: | ||
mkdir ~/borgmount | mkdir ~/borgmount | ||
borg mount | borg mount /path/to/repo ~/borgmount | ||
Alternativ kann auch ein einzelnes Archiv gemountet werden: | Alternativ kann auch ein einzelnes Archiv gemountet werden: | ||
borg mount | borg mount /path/to/repo::archive | ||
Unmounten: | Unmounten: | ||
borg umount ~/borgmount | borg umount ~/borgmount | ||
[[Kategorie:Linux]] | [[Kategorie:Linux]] | ||
[[Kategorie:Terminal]] | [[Kategorie:Terminal]] |
Version vom 22. Mai 2025, 18:17 Uhr
Dieser Artikel beschäftigt sich damit, wie man in Debian mit BorgBackup Backups erstellt und was es zu beachten gibt.
Quellen:
- https://borgbackup.readthedocs.io/en/stable/
- https://community.hetzner.com/tutorials/install-and-configure-borgbackup
Der Artikel bezieht sich auf Debian 12.10 mit BorgBackup 1.2.4 Client- und Serverseitig.
Installation
# apt-get install borgbackup
Sudo und Superuser (Debian) nicht vergessen
Backup Repository lokal initiieren
Zunächst muss ein Repository initiiert werden, z. B. auf der lokalen Maschine:
borg init --encryption=none|repokey|keyfile /path/to/repo
Defaultmäßig wird --encryption=repokey
verwendet. Dabei wird das Keyfile mit einem Passwort versehen und direkt im Repository selbst gespeichert. Dadurch ist für eine Wiederherstellung nur das Passwort für das Keyfile notwendig. Trotzdem sollte aus Sicherheitsgründen das Keyfile separat gesichert werden.
Mit --encryption=keyfile
wird das Keyfile auf der lokalen Maschine im Verzeichnis ~/.config/borg/keys/
gespeichert und ebenso mit einem Passwort gesichert wird.
Um das Keyfile zu sichern vgl. Abschnitt Keyfile Export und Import
Die Verschlüsselung kann mit --encryption=none
deaktiviert werden.
Initiierung eines Repository auf einer entfernten Maschine:
Backup Repository Remote initiieren
Können auf zwei Arten angelegt werden:
sshfs
oder mit Borg auf dem Remote-Repository installiert.
Beispiel für absoluten Pfad auf der Remote-Maschine:
borg init ssh://server.domain.tld:port/absolute_path/to/repo borg init ssh://user@server.domain.tld:port/absolute_path/to/repo
Beispiel für relativen Pfad auf der Remote-Maschine:
borg init ssh://server.domain.tld:port/./relative_path/to/repo
Keyfile Export und Import
Wenn ein Repository verschlüsselt ist, wird ein Keyfile erzeugt, das mit einem Passwort verschlüsselt ist.
Wenn das Repository mit --encryption=repokey
verschlüsselt ist, sollte das Keyfile aus Sicherheitsgründen separat gesichert werden.
Wenn das Repository mit --encryption=keyfile
verschlüsselt ist, muss Keyfile separat gesicht werden.
Export Keyfile:
borg key export /path/to/repo [/export/to/path]
Wenn kein Exportpfad angegeben wird, wird der Inhalt vom Keyfile auf der Konsole ausgegeben.
Der Inhalt entspricht dem Inhalt des Keyfiles, das bei --encryption=keyfile
auf der lokalen Maschine im Verzeichnis ~/.config/borg/keys/
gespeichert wird.
Export für Ausdruck auf Papier:
borg key export --paper /path/to/repo /export/to/path
Export als QR Code in eine HTML Datei zum Ausdrucken:
borg key export --qr-html /path/to/repo /export/to/path
Import Keyfile:
borg key import /path/to/repo /import/from/path
Interaktiver Import von Papier:
borg key import --paper /path/to/repo /import/from/path
Backup erstellen
Beim erstellen eines Backups wird ein neues Archiv in einem Repository erstellt. Der Archivname und die zu archivierenden Daten müssen angegeben werden:
borg create -s -v --list /path/to/repo::my-files \ ~/Documents \ ~/src \ --exclude '*.pyc' borg create -s --progress /path/to/repo::my-files \ ~/Documents \ ~/src \ --exclude /path1 \ --exclude '*.pyc'
-s
Stats
--progress
Aktuellen Fortschritt mit anzeigen
--list
Liste der Dateien ausgeben
Sinnvoll bei großen Uploads:
To limit upload (i.e. borg create) bandwidth, use the --upload-ratelimit RATE
in KiB/s
Informationen über Backupinhalte
Details über ein lokales Repository oder Archiv auflisten.
borg info path/to/repo # Show repo details (paths, size) borg info path/to/repo::archive # Show archive details (time, paths, size)
Details über ein remote Repository oder Archiv auflisten. Dabei kann man eine relative oder absolute Pfadangabe benutzen. Relative Pfadangaben sind relativ zum Login-Pfad des verwendeten Users.
Beispiel für eine relative Pfadangabe:
borg info ssh://user@server:port/./path/to/repo::archive # Show remote repo with relative path # archive details (time, paths, size)
Beispiel für eine absolute Pfadangabe:
borg info ssh://user@server:port/path/to/repo::archive # Show remote repo with absolute path # archive details (time, paths, size)
Inhalt von lokalem Repository oder Archiv auflisten:
borg list path/to/repo # List archives in local repository borg list path/to/repo::archive # List contents of archive in local repository
Inhalt von Remote-Repository oder Archiv auflisten:
borg list ssh://user@server:port/./path/to/repo # List contents of remote repository via SSH borg list ssh://user@server:port/./path/to/repo::archive # List contents of remote repository archive
Backup wiederherstellen
Backup wiederherstellen aus lokalem repository (remote Respository analog oben) ins aktuelle Verzeichnis.
borg extract [options] /path/to/repo::archive [paths]
Wenn [paths]
nicht angegeben wird, wird das Backup vollständig wiederhergestellt.
Optionen:
--list
listet Dateien und Verzeichnisse auf
--progress
zeigt Fortschritt an
-n
oder --dry-run
führt eine Wiederherstellung nicht aus, zeigt nur den Output
Beispiel:
borg extract --list --progress /path/to/repo::archive dir1/file1
Archiv mounten
Ein Archiv kann ins Dateisystem gemountet werden.
Verzeichnis erstellen und gesamtes Repository mounten:
mkdir ~/borgmount borg mount /path/to/repo ~/borgmount
Alternativ kann auch ein einzelnes Archiv gemountet werden:
borg mount /path/to/repo::archive
Unmounten:
borg umount ~/borgmount