BorgBackup (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
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 ==
== 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 <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.


Für Debian 8.0 Jessie gibt es im Backports-Repository aktuelle Pakete:
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.
# apt-get install borgbackup -t jessie-backports


== Kommandozeilenbefehle ==
Die Verschlüsselung kann mit <code>--encryption=none</code> deaktiviert werden.
  borg list ARCHIVE-OR-REPOSITORY               # list contents of archive or repository
 
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 <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 ==
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'
<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 ==
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 --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 -n REPO::ARCHIVE          # dry-run ARCHIVE to current directory with verbose list  
  borg extract --list --dry-run REPO::ARCHIVE    # dry-run with verbose list  
  borg extract --list --dry-run REPO::ARCHIVE    # dry-run with verbose list  
  borg extract --list REPO::ARCHIVE             # extract ARCHIVE to current directory 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
 
.
[[Kategorie:Linux]]
[[Kategorie:Linux]]
[[Kategorie:Terminal]]
[[Kategorie:Terminal]]

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:

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

.