BorgBackup (Debian): Unterschied zwischen den Versionen

Aus MattWiki
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


== 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


.
.
[[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:

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


.