BorgBackup (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 12: | Zeile 12: | ||
[[Sudo und Superuser (Debian)]] nicht vergessen | [[Sudo und Superuser (Debian)]] nicht vergessen | ||
== | == Backup Repository lokal initiieren == | ||
Zunächst muss ein Repository initiiert werden, z. B. auf der lokalen Maschine: | Zunächst muss ein Repository initiiert werden, z. B. auf der lokalen Maschine: | ||
borg init --encryption=none|repokey|keyfile / | borg init --encryption=none|repokey|keyfile /path/to/repo | ||
Defaultmäßig wird <code>--encryption=repokey</code> verwendet. Dabei wird das Keyfile mit einem Passwort versehen und im Repository gespeichert. Dadurch ist für eine Wiederherstellung nur das Passwort für das Keyfile notwendig. | |||
Mit <code>--encryption=keyfile</code> wird das Keyfile auf der lokalen Maschine im Verzeichnis <code>~/.config/borg/keys/</code> gespeichert und ebensho mit einem Passwort gesichert wird. | |||
Die Verschlüsselung kann mit <code>--encryption=none</code> deaktiviert werden. | |||
== Remote | Initiierung eines Repository auf einer entfernten Maschine: | ||
== Backup Repository Remote initiieren == | |||
Können auf zwei Arten angelegt werden: | Können auf zwei Arten angelegt werden: | ||
sshfs | sshfs | ||
oder mit Borg auf dem Remote-Repository installiert: | oder mit Borg auf dem Remote-Repository installiert. | ||
borg init ssh://server.domain.tld:port/ | |||
borg init <nowiki>ssh://user@server.domain.tld:port/ | Beispiel für absoluten Pfad auf der Remote-Maschine: | ||
borg init <nowiki>ssh://server.domain.tld:port/absolute_path/to/repo</nowiki> | |||
borg init <nowiki>ssh://user@server.domain.tld:port/absolute_path/to/repo</nowiki> | |||
Beispiel für relativen Pfad auf der Remote-Maschine: | |||
borg init <nowiki>ssh://server.domain.tld:port/./relative_path/to/repo</nowiki> | |||
== Backup erstellen == | == Backup erstellen == | ||
Zeile 34: | Zeile 40: | ||
~/src \ | ~/src \ | ||
--exclude '*.pyc' | --exclude '*.pyc' | ||
borg create -s --progress /path/to/repo::my-files \ | |||
~/Documents \ | |||
~/src \ | |||
--exclude /path1 \ | |||
--exclude '*.pyc' | |||
<code>-s</code> Stats | |||
<code>--progress</code> Aktuellen Fortschritt mit anzeigen | |||
<code>--list</code> Liste der Dateien ausgeben | |||
Sinnvoll bei großen Uploads: | |||
To limit upload (i.e. borg create) bandwidth, use the <code>--upload-ratelimit RATE</code> in KiB/s | |||
== Informationen über Backupinhalte == | == Informationen über Backupinhalte == |
Aktuelle Version vom 13. Mai 2025, 17:26 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 im Repository gespeichert. Dadurch ist für eine Wiederherstellung nur das Passwort für das Keyfile notwendig.
Mit --encryption=keyfile
wird das Keyfile auf der lokalen Maschine im Verzeichnis ~/.config/borg/keys/
gespeichert und ebensho mit einem Passwort gesichert wird.
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
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
borg list REPOSITORY # List archives in REPOSITORY borg list REPO::ARCHIVE # List contents of ARCHIVE in REPO borg list ssh://user@server:port/PATHTOREPO # List contents of remote REPOSITORY via SSH borg info REPO::ARCHIVE # Show details for ARCHIVE such as time and size borg info ssh://user@server:port/REPO::ARCH # Show details for ARCHIVE such as time and size # from remote REPOSITORY accessed via SSH
Backup wiederherstellen
borg extract --info REPO::ARCHIVE # extract ARCHIVE to current directory with debug level info / verbose (-v) borg extract --list REPO::ARCHIVE # extract ARCHIVE to current directory with verbose list borg extract --list -n REPO::ARCHIVE # dry-run ARCHIVE to current directory with verbose list borg extract --list --dry-run REPO::ARCHIVE # dry-run with verbose list
Archiv mounten
Ein Archiv kann ins Dateisystem gemountet werden.
Verzeichnis erstellen und gesamtes Repository mounten:
mkdir ~/borgmount borg mount REPO ~/borgmount
Alternativ kann auch ein einzelnes Archiv gemountet werden:
borg mount REPO::ARCHIVE
Unmounten:
borg umount ~/borgmount
Key export und import
Export auf Papier:
borg key export --paper /path/to/repo /export/to/path
Import von Papier:
borg key import --paper /path/to/repo /import/from/path
.