Zum Inhalt

xCloud Backup Einrichtung für Ugreen

Schritt-für-Schritt Anleitung

In der Ugreen Weboberfläche

1. Zugriff auf die NAS-Weboberfläche (typischerweise http://[lokale IP-Adresse des NAS]:9999)

Info

Standardmäßig ist es auf der IP-Adresse des NAS (im Web-Interface des heimischen Routers in Erfahrung bringen) unter Port 9999 angeboten, bspw. http://192.168.178.50:9999.

Ugreen NAS Web Interface

2. Öffne die Systemsteuerung

System Control Panel

3. Gehe zu "System Control" > "Connectivity & Access" > "Terminal"

Terminal Access Configuration

4. SSH aktivieren

  • Behalte den Standardport 22 bei
  • Empfohlen: Stelle die Verschlüsselung auf "High"
  • Beschränke SSH auf LAN-Zugriff

SSH Configuration

5. Dialog mit Klick auf den Button "Übernehmen" schließen.

Auf dem eigenen Computer

6. Öffne das Terminal/PowerShell

7. Mit den Anmeldedaten des Ugreen-NAS und der IP-Adresse aus Schritt 1 per SSH einloggen. (Biespiel-Nutzername ist hier "johndoe", Passwort interaktiv eingeben):

ssh johndoe@192.168.178.50
johndoe@192.168.178.50’s password:
[...]
johndoe@ugreen-nas:~$

8. Die beiden Pakete restic (der Backup-Client) und apg (Passwort-Generator) installieren, zwischendurch per Druck auf Y und Eingabe bestätigen:

sudo apt install restic apg
[...]
Do you want to continue? [Y/n]
[...]
Processing triggers for man-db (...)
johndoe@ugreen-nas:~$

9. Erstelle ein starkes Passwort zur Verschlüsselung des Backups mit Hilfe von apg. Mache danach die Datei nur für den aktuellen Nutzer lesbar per Befehl chmod.

apg -a 1 -m 32 -n 1 -M NCL > password-file
chmod 600 password-file

10. Mit einem Text-Editor (nano, vim, ..) erstelle ein Skript mit dem Namen xcloud-backup.sh mit folgendem Inhalt. Ersetze dabei die beiden Platzhalter <xCloud Backup … Key> mit den entsprechenden Zugangsdaten aus der xCloud Backup Web-Anwendung:

#!/bin/sh
export AWS_DEFAULT_REGION="eu-west-1"
export RESTIC_REPOSITORY="s3:https://backup.de.xcloud.eu/backup"
export AWS_ACCESS_KEY_ID="<xCloud Backup Access Key>"
export AWS_SECRET_ACCESS_KEY="<xCloud Backup Secret Key>"
export RESTIC_PASSWORD=$(cat password-file)

11. Mache das Skript ausführbar mit Hilfe des Befehls chmod. Führe anschließend das Skript aus, sodass ihre Umgebungsvariablen in deiner aktuellen Terminal-Session geladen werden (der einzelne Punkt ist Teil des Befehls):

chmod +x xcloud-backup.sh
. ./xcloud-backup.sh

12. Nun kannst du ein verschlüsseltes Repository in dem Bucket initialisieren. Der Befehl bedient sich automatisch der Inhalte der "Umgebungsvariablen", die durch das Skript gesetzt wurden.

restic init
created restic repository 01ab2c34de at s3:https://backup.de.xcloud.eu/backup

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

Schlüsselaufbewahrung

Diese Mitteilung von Restic bezieht sich auf den Inhalt der Datei password-file. Diese ist separat lokal zu sichern, bspw. per USB-Stick. Ohne das Passwort kann der Inhalt des Backups nicht entschlüsselt werden.

13. Zum Testen kannst du nun eine einzelne Datei sichern:

restic --verbose backup example_file.txt
[...]
processed 1 files, 325 B in 0:00

14. Wenn dies funktioniert hat, kannst du die Ordner auflisten, die tatsächlich gesichert werden sollen und sie am Ende der oben angelegten Datei xcloud-backup.sh als letzten Befehl hinzufügen, beispielsweise:

restic backup \
/home/johndoe \
/volume1/@appstore

Ein vollständiges Backup-Skript könnte also so aussehen:

#!/bin/sh
export AWS_DEFAULT_REGION="eu-west-1"
export RESTIC_REPOSITORY="s3:https://backup.de.xcloud.eu/backup"
export AWS_ACCESS_KEY_ID="<xCloud Backup Access Key>"
export AWS_SECRET_ACCESS_KEY="<xCloud Backup Secret Key>"
export RESTIC_PASSWORD=$(cat password-file)

restic backup \
   /home/johndoe \
   /volume1/@appstore

15. Um das Backup zeitgesteuert automatisiert ausführen zu lassen, kann man eine tägliche Ausführung durch cron konfigurieren:

sudo crontab -e

In der geöffneten Textdatei dann beispielsweise folgende Zeile hinzufügen

0 3 * * * /home/johndoe/xcloud-backup.sh

würde das Skript täglich um 3:00 Uhr morgens starten.

Weitere Ressourcen