BorgBackup (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
[[Sudo und Superuser (Debian)]] nicht vergessen
[[Sudo und Superuser (Debian)]] nicht vergessen


== Backuprepository initiieren ==
== 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 /PATH/TO/REPOSITORY/NAME
  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.
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.


Zeile 23: Zeile 23:
Initiierung eines Repository auf einer entfernten Maschine:
Initiierung eines Repository auf einer entfernten Maschine:


== Remote-Repositories ==
== 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/PATH/TO/REPOSITORY/NAME
 
  borg init <nowiki>ssh://user@server.domain.tld:port/PATH/TO/REPOSITORY/NAME</nowiki>
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 ==

Version vom 12. Mai 2025, 22:46 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'

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

.