BorgBackup (Debian): Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) |
Matt (Diskussion | Beiträge) |
||
Zeile 56: | Zeile 56: | ||
== Informationen über Backupinhalte == | == Informationen über Backupinhalte == | ||
borg list | Details über ein lokales Repository oder Archiv auflisten. | ||
borg list | borg info path/to/repo # Show repo details (paths, size) | ||
borg list ssh://user@server:port/PATHTOREPO | borg info path/to/repo::archive # Show archive details (time, paths, size) | ||
borg | 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/REPO::ARCH 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/REPO::ARCH 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/PATHTOREPO ssh://user@server:port/./path/to/repo] # List contents of remote repository via SSH | |||
borg list [ssh://user@server:port/PATHTOREPO ssh://user@server:port/./path/to/repo::archive] # List contents of remote repository archive | |||
== Backup wiederherstellen == | == Backup wiederherstellen == |
Version vom 22. Mai 2025, 15:11 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
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
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
.