Kopia-Version: 0.23.1-1 (AUR-Paket)
Server-Betriebsystem: Archlinux 7.0.14
1password-cli: 2.31.1 (optional)
Eine private Backup-Lösung auf einem Homelab lässt sich mit Kopia einfach einrichten. Sie ist allerdings nicht direkt mit kommerziellen Cloud-Diensten wie iCloud oder Google Drive vergleichbar. Man kann beispielweise nicht direkt durch Fotos browsen oder Videos steamen.
Stattdessen konzentriert sich Kopia auf das, was für Backups wirklich wichtig ist: Effizienz, Züverlassigkeit und Sicherheit. Alle Daten werden Ende-zu-Ende verschlüsselt gespeichert und gehasht, sodass identische Daten erkannt und nur einmal gespeichert werden.
In dieser Anleitung zeige ich Schrifft für schritt, wie man mit der Kopia-CLI ein Kopia-SFTP-Repository einrichtet und den ersten Snapshot (Backup) erstellt. Ich werde Secrets mit 1Password-CLI laden, aber das ist nicht erfordlich.
Erstellung des SFTP-Repository
Backups werden in einem Repository gespeichert. Mit dem folgenden Befehl erstellt man von seinem Client aus ein neues SFTP-Repository.
kopia repository create sftp \
--path= #erzeichnis auf dem Server, in dem die Repository-Daten gespeichert werden
--host= #Hostname oder IP-Adresse des Servers
--username= #SFTP-Benutyername auf dem Server.
--known-hosts= #Pfad zur known_hosts-Datei auf dem Client (erforderlich)
# SFTP benötigt einen privaten SSH-Schlüssel für die Authentifizierung.
# Wenn der SSH-Schlüssel lokal gespeichert ist:
--keyfile= #~/.ssh/keyfile
# Wenn der SSH-Schlüssel aus einem Passwortmanager geladen
--key-data="$(op read "op://...")"
Hinweise
- Man sollte darauf achten, dass der angegebene Benutzer (--username) Schreib- und Leserechte für das mit --path angegebene Verzeichnis besitzt. Andernfalls schlägt das Erstellen von Snapshots fehl.
- Die Option --known-hosts ist in der Regel erforderlich. Falls der Server noch nicht in der known_hosts-Datei eingetragen ist, kann man den Host-Schlüssel mit folgendem Befehl hinzufügen: ssh-
keyscan -H [HostName oder IP Address] >> ~/.ssh/known_hosts
Nach dem Erstellen des Repositorys wird man aufgefordert, ein Passwort festzulegen. Dieses Passwort schützt das Repository und wird jedes Mal benötigt, wenn eine Verbindung zum Repository herstellt.
create: https://kopia.io/docs/reference/command-line/common/repository-create-sftp/
Verbindung mit dem Repository
Der Befehl zum Verbinden mit dem Repository ist nahezu identisch mit dem Befehl zum Erstellen des Repositorys. Um sich die Eingabe zu erleichtern, kann man einen Alias in der Shell-Konfigurationsdatei (z. B. .bashrc oder .zshrc) anlegen.
alias kconn='kopia repository connect sftp \
--path= #erzeichnis auf dem Server, in dem die Repository-Daten gespeichert werden
--host= #Hostname oder IP-Adresse des Servers
--username= #SFTP-Benutyername auf dem Server.
--known-hosts= #Pfad zur known_hosts-Datei auf dem Client (erforderlich)
# SFTP benötigt einen privaten SSH-Schlüssel für die Authentifizierung.
# Wenn der SSH-Schlüssel lokal gespeichert ist:
--keyfile= #~/.ssh/keyfile
# Wenn der SSH-Schlüssel aus einem Passwortmanager geladen
--key-data="$(op read "op://...")"'
Anschließend kann man sich mit dem Repository verbinden:
kconn
Nach dem Herstellen der Verbindung können Repository-Richtlinien (Policies) konfiguriert werden, beispielsweise für Aufbewahrungsregeln oder Snapshot-Intervalle.
connect: https://kopia.io/docs/reference/command-line/common/repository-connect-sftp/
policy set: https://kopia.io/docs/reference/command-line/common/policy-set/
Backup starten
Ab hier ist der Ablauf recht unkompliziert. Ein Snapshot eines Verzeichnisses oder einer Datei wird mit folgendem Befehl erstellt:
kopia snapshot create <Datei oder Verzeichnis>
Nach Abschluss des Backups kann überprüft werden, ob der Snapshot erfolgreich erstellt wurde und welche Snapshots bereits vorhanden sind:
kopia snapshot list
Top comments (0)