BorgBackup (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 33: | Zeile 33: | ||
Beispiel für relativen Pfad auf der Remote-Maschine: | Beispiel für relativen Pfad auf der Remote-Maschine: | ||
borg init <nowiki>ssh://server.domain.tld:port/./relative_path/to/repo</nowiki> | borg init <nowiki>ssh://server.domain.tld:port/./relative_path/to/repo</nowiki> | ||
== 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 | |||
== Backup erstellen == | == Backup erstellen == | ||
Zeile 91: | Zeile 99: | ||
borg umount ~/borgmount | borg umount ~/borgmount | ||
. | . | ||
[[Kategorie:Linux]] | [[Kategorie:Linux]] | ||
[[Kategorie:Terminal]] | [[Kategorie:Terminal]] |
Version vom 22. Mai 2025, 15:35 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
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
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
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
.