TrueNAS hat praktischerweise einen rclone Client eingebaut und kann dadurch relativ einfach über die TrueNAS Verwaltungsoberfläche eine Verbindung mit vielen Cloud Providern herstellen. Wichtig ist hierbei, das die Datei- bzw. Verzeichnisnamen samt Inhalt in verschlüsselter Form in der Cloud abgelegt werden. Niemand weiß, wer auf einem Cloud Server Zugriff auf die Daten hat. Natürlich ließe sich das auch mit einem verschlüsselten Archiv oder Container erreichen, aber damit fällt eine inkrementelle Übertragung leider weg und ist hier keine Option.
pCloud ist hier nur exemplarisch aufgeführt, die Anbindung anderer Cloud Dienste (OneDrive, SharePoint, Dropbox, Google Drive, etc.) ist ebenfalls möglich. Eine gute Übersicht der verfügbaren Dienste ist hier zu finden. Das Lifetime Angebot mit 2TB bei pCloud fand ich fair.
Insbesondere mit TrueNAS ist das wirklich zügig erstellt und es gibt keinen Grund kein Backup anzulegen. Kein Backup, kein Mitleid.
Die einfache 3-2-1 Backup Regel besagt, das jede Datei drei mal existiert, auf mindesten zwei unterschiedlichen Medien gespeichert und einmal an einem anderen Ort aufbewahrt wird. Ein Cloud Backup stellt in einem 3-2-1 Konzept die letzte Möglichkeit dar.
Ziel dieser Anleitung ist das Backup eigener Dateien zu pCloud, wobei die Dateien auf dem Ziel verschlüsselt abgelegt werden.
Nicht unerheblich ist ein Desaster Recovery: Die Daten müssen auch auf anderem Wege wiederhergestellt werden können, sollte der eigene TrueNAS Server nicht mehr zur Verfügung stehen. Festplatten gehen kaputt, Keller werden überflutet, Hardware wird gestohlen oder Menschen machen Fehler. Notfalls muss ein Laptop mit USB Festplatte reichen um an die verschlüsselten Daten wieder zu kommen.
Letzte Aktualisierung:
Unter System - Cloud Credentials
wird ein Zugang für pCloud hinterlegt.
Hostname: eapi.pcloud.com
Mit der Option LOGIN TO PROVIDER erfolgt die Anmeldung bei pCloud, der Rest wird dann automatisch ausgefüllt
Unter Tasks - Cloud Sync Tasks
wird nun eine Backup Aufgabe angelegt
Remote Credential von oben wählen, das Ziel und Quelle definieren
PUSH als Richtung auswählen und einen Zeitplan bestimmen (aber deaktiviert lassen)
Mt Remote und Filename Encryption wird das Ziel verschlüsselt
Mit DRY RUN wird überprüft ob alles mit rechten Dingen vor sich
Aufgabe einmal manuell durchlaufen (das dauert mitunter Stunden) lassen, denn den Zeitplan aktivieren.
pCloud als Provider bei rclone hinterlegen
rclone
installieren / herunterladen
Konfiguraton mit ./rclone config
starten und neuen Remote anlegen (Name: pcloud)
pCloud als Provider auswählen und die Anmeldung bei pCloud durchführen, der Rest wird dann automatisch ausgefüllt
Damit ist aber nur der Klartext-Zugriff möglich
Test mit ./rclone lsd pcloud:
Verschlüsselten Ordner in pCloud als Provider bei rclone hinterlegen
Konfiguraton mit ./rclone config
erneut starten und neuen Remote anlegen (Name: pcloud_gemeinsam)
Bei Remote den obigen Remote angeben zusammen mit den Ort der verschlüsselten Daten (pcloud:HOSTNAME/ORDNERNAME) angeben
Password und salt hinterlegen
Damit ist aber nur der verschlüsselte Zugriff möglich
Test mit ./rclone lsd pcloud_gemeinsam:
Unter System - Cloud Credentials
wird mit ADD ein Zugang hinterlegt.
eapi.pcloud.com
Dann wird mit der Option LOGIN TO PROVIDER automatisch ein Browserfenster geöffnet, in dem die Anmeldung bei pCloud erfolgt.
Nach der Anmeldung muss der Zugriff auf pCloud mit ALLOW erlaubt und das Browserfenster kann wieder geschlossen werden.
Danach sind die drei Felder ACCESS TOKEN, OAUTH CLIENT ID und OAUTH CLIENT SECRET automatisch ausgefüllt.
Mit VERIFY CREDENTIALS den Login nochmal überprüfen und dann mit SUBMIT speichern.
Unter Tasks - Cloud Sync Tasks
wird nun mit ADD eine neue Backup Aufgabe angelegt. Das Ziel ist nicht nur eine einfache Kopie unserer Daten, sondern ein vollständiger Abgleich. Dieser Abgleich sorgt dafür, das alle Dateien nicht nur kopiert (COPY) sondern lokal gelöschte Dateien ebenfalls am Ziel entfernt werden (SYNC).
Die Direction definiert die Richtung. Hier soll ja VON TrueNAS NACH pCloud syncronisiert werden.
Wählt hier auf KEINEN Fall PULL aus, sonst werden eure lokalen Dateien beim ersten mal direkt gelöscht, denn bei pCloud ist ja noch nichts drin!
Einen lokalen Ordner als Backup-Quelle und entfernten Ordner als Backup-Ziel auswählen.
/PFAD/ORDNERNAME
(Lokaler Pfad als Quelle)/HOSTNAME/ORDNERNAME
(entfernter Pfad als Ziel)Folgende Optionen aktivieren die Verschlüsselung der Dateien und der Datei- und Ordnernamen.
Jede gute Verschlüsselung funktioniert natürlich nur mit einem ordentlichen Paar Passwörtern.
Bitte solche Passwörtern nicht ausdenken; besser generieren und GUT abspeichern!
Schamlose Eigenwerbung: In VaultWarden vielleicht eintragen?
Damit sind alle relevanten Einstellungen vorgenommen.
Mit DRY RUN wird überprüft ob alles mit rechten Dingen vor sich geht. Wenn ja, mit SUBMIT speichern.
In der Übersicht wird nun mit RUN NOW die erstellte Aufgabe ausgeführt. Ist die einmal erfolgreich durchgelaufen (das dauert mitunter Stunden), kann der Zeitplan beruhigt aktiviert werden und dann selber laufen. Bei Fehlern schickt/generiert TrueNAS einen Alarm.
Zur Eigendokumentation empfehle ich euch eine Tabelle anzulegen:
| Description | Source | Destination | Schedule |
|--------------------|---------------------|------------------------------|-------------|
| pCloud gemeinsam | /PFAD/gemeinsam. | /HOSTNAME/gemeinsam | mo-so 6:10 |
| pCloud home | /PFAD/home | /HOSTNAME/home | mo-so 6:20 |
Damit ist das automatische Backup fertig eingerichtet und läuft ganz alleine weiter.
Anmerkung: Auch wenn dieses Backup automatisiert ist und sich bei Fehlern meldet, darf es nicht vergessen werden. Mindestens einmal im Jahr sollte eine manuelle Rücksicherung überprüft werden, vor allem nach grösseren Updates des TrueNAS Systems. Better safe than sorry!
Dateien wurden aus versehen gelöscht und der nächste Sync wurde noch nicht durchgeführt?
Dann ist es sehr einfach die in der Cloud gespeicherten Daten wiederherzustellen: Um nicht den langen Weg der obigen Konfiguration gehen zu müssen, hat TrueNAS eine Abkürzung eingebaut, mit der eine Backup-Aufgabe mal eben "umgedreht" werden kann. Dazu gibt es in der Übersicht der Backup-Aufgaben unter jedem Eintrag den Punkt RESTORE.
Klickt man diesen an, kommt ein reduzierter Dialog zum Vorschein, in dem nur noch ein Name und ein Zielpfad für die Rücksicherung angegeben wird.
Ist alles eingetragen, wird der Dialog mit "RESTORE" geschlossen und eine rein manuelle Aufgabe erstellt (Es wird noch nichts kopiert!). Alle anderen Einstellungen werden aus der Ursprungsaufgabe übernommen.
Ein DRY RUN simuliert die Aufgabe und erst ein RUN NOW legt dann wirklich los.
rclone
als Werkzeug ist auf den meisten Plattformen verfügbar (Windows, Mac, Linux, FreeBSD, etc.) und soweit verbreitet, das es durchaus als zukunftssicher gelten darf. Bei der Nutzung haben wir die Wahl zwischen einer konsolen- oder browsergestützten Konfiguration. Achtet unter Windows oder Mac darauf, das es in dem Ordner ausgeführt wird, in dem das Archiv entpackt wurde (z.B. C:\User\BENUTZERNAME\Downloads\rclone-v1.61.1-win-amd64
oder /Users/BENUTZERNAME/Downloads/rclone-v1.61.1-osx-amd64
)
Als erstes wird mit ./rclone config
ein Zugang hinterlegt:
n) New remote
name> pcloud
Storage> pcloud
client_id> leer
client_secret> leer
Edit advanced config? n
Use web browser to automatically authenticate rclone with remote? y
Damit automatisch ein Browserfenster geöffnet, in dem die Anmeldung bei pCloud erfolgt.
Nach der Anmeldung muss der Zugriff auf pCloud mit "Allow" erlaubt und das Browserfenster wieder geschlossen werden.
Damit wird der "Access Token" ermittelt und angezeigt.
- type: pcloud
- hostname: eapi.pcloud.com
- token: {"access_token":"XXXXXXXXXXXXXXXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
Keep this "pcloud" remote? y
q) Quit config
Die Logik ist: Anbindung schaffen (pcloud) und darauf die Verschlüsselung (pcloud_gemeinsam) eines Ordners setzen.
HOSTNAME/gemeinsam
= ein Ordner der bereits ein Backup enthält.Also wieder die Konfiguraton mit ./rclone config
starten:
n) New remote
name> pcloud_gemeinsam
Storage> crypt
remote> pcloud:HOSTNAME/gemeinsam
filename_encryption> 1
directory_name_encryption> 1
Password or pass phrase for encryption: y
Enter the password: XXXXXXXXXXX
Password or pass phrase for salt: y
Enter the password: YYYYYYYYYYY
Edit advanced config? n
Keep this "pcloud_gemeinsam" remote? y
q) Quit config
Die Nutzung der Webkonfiguration ist ebenfalls möglich.
Wer schnuppern möchte, kann die Webseite hiermit lokal aufrufen: ./rclone rcd --rc-web-gui --rc-user gui --rc-pass 123
Die Vorgehensweise ist identisch zu der unten aufgeführten, nur halt grafisch aufbereitet. Ein Schnelldurchlauf:
./rclone lsd pcloud:
./rclone copy QUELLVERZEICHNIS pcloud:ZIELVERZEICHNIS
./rclone lsd pcloud_gemeinsam:
./rclone copy pcloud_gemeinsam: ZIELVERZEICHNIS
Hier gibt es eine Auflistung aller Befehle.
Voilá