Verschlüsselte Backups mit Rclone und restic in Nextcloud erstellen

Das beste RAID und die sicherste SSD schützen nicht vor Datenverlusten. Sei es durch einen menschlichen Fehler oder einen Defekt der Hardware. Ein regelmäßiges externes Backup, also außerhalb seines eigenen Computers oder Servers, ist daher sehr wichtig.

Mit Managed Nextcloud gibt es eine kostengünstige Möglichkeit solch ein Backup seines Rechner anzufertigen. In diesem Tutorial zeigen wir Dir wie du mit zwei kleinen Tools ein verschlüsseltes Backup anlegen kannst.

Über Rclone und restic

Rclone ist das Open-Source „Schweizer Taschenmesser“, um verschiedene Storage-Backends anzusprechen.

Weitere Informationen zu Rclone findest Du hier: https://rclone.org

restic ist ein beliebtes Open-Source Programm, welches inkrementelle und verschlüsselte Backups erstellen kann. Da restic nicht direkt mit Nextcloud oder WebDAV kommunizieren kann, benötigen wir Rclone, welches von restic nativ unterstützt wird.

Weitere Informationen zu restic findest Du hier: https://restic.net

Voraussetzung des Ziel Backupservers

Für dieses How-To wurde restic 0.12 und Rclone 1.54 verwendet.

Hinweis: restic als auch Rclone sind mit Linux und Windows kompatibel. Für dieses How-To wurde ein Computer mit einem Linux-Betriebssystem verwendet. Die Pfade für Windows müssen ggf. angepasst werden.

Schritt 1: Rclone konfigurieren

restic greift über Rclone auf den Backup-Server, also unsere Nextcloud, zu. Daher muss zunächst Rclone konfiguriert werden.

Mit „rclone config“ beginnen wir die interaktive Konfiguration von Rclone. Mit „n“ wird eine neue Konfiguration erstellt.

# rclone config
2021/02/18 10:33:35 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config

Name für das Backup-Ziel eingeben

Im Anschluss wird nach einem Namen gefragt. Diesen Namen dürfen wir individuell wählen.

Hinweis: Dieser Name wird in einem späteren Schritt als Backup-Ziel in restic verwendet. Hier wird der Name „NextcloudWebDAV“ gewählt.

name> NextcloudWebDAV

Typ des Backup-Servers definieren

Nachdem der Name des Backup-Ziels eingegeben wurde, muss nun der Typ des Backup-Servers definiert werden. Mit “37” wird “WebDAV” gewählt.

Hinweis: Die Nummer des Typen kann in anderen Versionen von Rclone abweichen.

37 / Webdav
\ "webdav"

Ziel-URL hinterlegen und WebDAV-Typ definieren

Nun muss die WebDAV-URL der Nextcloud hinterlegt werden. Die URL findest Du in der Nextcloud-Dateiansicht unter “Einstellungen”.

URL of http host to connect to
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Connect to example.com
\ "https://example.com"
url> https://1909165nvk75v6rxro2.nextcloud.hosting.zone/remote.php/dav/files/username/

Nachdem die URL per Eingabe-Taste bestätigt wurde, wird von Rclone eine Liste mit gängigen WebDAV-Systemen gezeigt. Da Nextcloud zum Einsatz kommt, wird „1“ gewählt.

Name of the Webdav site/service/software you are using
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Nextcloud
\ "nextcloud"
2 / Owncloud
\ "owncloud"
3 / Sharepoint
\ "sharepoint"
4 / Other site/service or software
\ "other"
vendor> 1

Benutzername und Passwort hinterlegen

In diesem Schritt musst Du nun Deinen Benutzernamen und Dein Passwort Deiner Nextcloud eingeben.

Hinweis: Wenn die Zwei-Faktor-Authentifizierung eingerichtet wurde,musst Du für den Zugriff auf Deine WebDAV-Freigabe in Deiner Nextcloud ein App-Passwort erstellen. Das erfolgt über “Einstellungen” → “Sicherheit” → “Neues App-Passwort”.

Wie Du die Zwei-Faktor-Authentifizierung für Deine Nextcloud einrichtest, erfährst Du in unserem Helpdesk-Artikel Zwei-Faktor-Authentifizierung (2FA TOTP) aktivieren

User name
Enter a string value. Press Enter for the default ("").
user> username
Password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)
y/g/n> y
Enter the password:
password:
Confirm the password:
password:

Konfiguration abschließen

Eine erweiterte Konfiguration wird durch die Eingabe von “n” abegeleht.

Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n


Rclone gibt im Anschluss eine Zusammenfassung aus.

Remote config
--------------------
[NextcloudWebDAV]
type = webdav
url = https://1909165nvk75v6rxro2.nextcloud.hosting.zone/remote.php/dav/files/username/
vendor = nextcloud
user = username
pass = * ENCRYPTED *
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:
Name Type
==== ====
NextcloudWebDAV webdav

Die Rclone-Einrichtung wird mit der Eingabe von “q” beendet.

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

Mit dem Befehl „rclone lsd NextcloudWebDAV:“ können nun alle Ordner Deiner Nextcloud angezeigt werden.

Hinweis: Vergesst nicht den Doppelpunkt (":") hinter dem Namen.

# rclone lsd NextcloudWebDAV:
-1 2019-09-16 10:05:26 -1 Documents
-1 2019-09-16 10:05:26 -1 Photos

Schritt 2: restic konfigurieren

Nachdem die Konfiguration von Rclone erfolgreich abgeschlossen wurde, wird nun restic konfiguriert.

restic Repository initialisieren

restic --repo rclone:NextcloudWebDAV:/backupMeinLaptop init

Mit diesem Befehl wird die im vorherigen Schritt eingerichtete Rclone-Konfiguration aufgerufen um Dein Repository zu initialisieren. Der Name des Repository ist frei wählbar. Des Weiteren legst Du ein Passwort fest, mit dem Deine Backups verschlüsselt werden.

Wichtig: Bewahre das Passwort sicher auf. Die Backups sind ohne das Passwort nicht wiederherstellbar!

Der Befehlt besteht aus verschiedenen Komponenten:

  1. Backup-Ziel:
--repo rclone:NextcloudWebDAV:/
  1. Repository Name
backupMeinLaptop
  1. Funktion
init

Backup mit restic starten

Nachdem du Dein Repository angelegt hast, kannst Du nun ein Backup Deiner Dateien in die Nextcloud starten.

restic --repo rclone:NextcloudWebDAV:/backupMeinLaptop backup /home/username/wichtigeDaten/

Der Befehl besteht wieder aus verschiedenen Komponenten:

  1. Backup-Ziel:
--repo rclone:NextcloudWebDAV:/backupMeinLaptop
  1. Funktion:
backup
  1. Der zu sichernde Pfad:
/home/username/wichtigeDaten/


Wurde das Backup erfolgreich erstellt, erfolgt eine Ausgabe mit einigen Statistiken.

# restic --repo rclone:NextcloudWebDAV:/backupMeinLaptop backup /home/username/wichtigeDaten/
enter password for repository:
repository 22a72789 opened successfully, password is correct
no parent snapshot found, will read all files

Files: 3 new, 0 changed, 0 unmodified
Dirs: 3 new, 0 changed, 0 unmodified
Added to the repo: 1.846 KiB

processed 3 files, 0 B in 0:06
snapshot 64d5b773 saved

Ob ein Backup erfolgreich erstellt wurde, lässt sich überprüfen, indem das erstellte Snapshot angezeigt wird.

# restic --repo rclone:NextcloudWebDAV:/backupMeinLaptop snapshots

Auch dieser Befehl besteht aus verschiedenen Komponenten:

  1. Backup-Ziel:
--repo rclone:NextcloudWebDAV:/backupMeinLaptop
  1. Funktion:
snapshots

Wurde das Backup erfolgreich erstellt, wird das Snapshot mit Datum und Zeit angezeigt.

# restic --repo rclone:NextcloudWebDAV:/backupMeinLaptop snapshots
enter password for repository:
repository 22a72789 opened successfully, password is correct
ID Time Host Tags Paths
------------------------------------------------------------------------------------
64d5b773 2021-02-18 11:16:31 c582b1ad388f /home/username/wichtigeDaten
------------------------------------------------------------------------------------
1 snapshots

Zusammenfassung

In diesem How-To wurde Deine Nextcloud als Backup-Ziel mit Rclone eingerichtet und ein erstes Backup mit restic durchgeführt. Backups lassen sich nun ganz bequem mit einem einzigen Terminal-Befehl manuell anstoßen. In einem nächsten How-To zeigen wir Dir wie Du Daten wiederherstellen und das Backup automatisieren kannst.

Richte Dir mit nur wenigen Klicks eine kostenlose Managed Nextcloud mit 1 GB Speicherplatz ein um Deine wichtigen Daten mit Rclone und restic zu sichern.

Next: Weitere Nextcloud-Apps integriert: Ende-zu-Ende-Verschlüsselung, Dashboard und Cookbook hosting.de Blog 15.03.2021