MagentaCLOUD mit Linux Mint synchronisieren

Der Windows und der MAC User bekommt von der Telekom ein Stück Software spendiert um die MagentaCLOUD mit seinem System zu synchronisieren. Für Linux bietet die Telekom so etwas nicht an, macht aber nichts. Denn natürlich gibt es alternativen. Die funktionieren genauso gut und man ist selber noch Herr über die Lage und kann die Synchronisierung steuern. So will man das als Linux-User.

Vorbereitend bitte die MagentaCLOUD per WebDAV mounten wie im Absatz „Unter Linux (Ubuntu / Debian / Raspi) über die Konsole“ beschrieben.

Jetzt benötigen wir eine Software zum synchronisieren. Da bietet sich Unison an. Dazu im Terminal (Alt-Strg-t) den Befehl:

sudo apt-get install unison-gtk

eingeben und abschicken. Jetzt bitte einmal

unison

ins Terminal hacken und abschicken. Damit wird im Home-Verzeichnis das Unterverzeichnis .unison erstellt. Also nächstes braucht es ein Zielverzeichnis für die Synchronisierung. Klassischerweise liegt dieses im Home-Verzeichnis. Da wir uns ja schon im Terminal befinden, machen wir dit auch im Terminal.

cd /home/linuxbenutzername
 mkdir magentacloud

Jetzt wechseln wir in das .unison Verzeichnis

cd /home/linuxbenutzername/.unison

um hier ein neue Konfigurationsdatei

nano magentacloud.prf

im Editor nano zu erzeugen. In diese schreiben wir:










# Unison preferences
 auto = true
 fastcheck = true
 fat = false
 label = Bilder aus der MagentaCLOUD
 log = true
 repeat = 5
 root = /home/linxubenutzername/magentacloud
 root = /media/magentacloud
 silent = true
 watch = true

Und speichern die Eingabe mit Strg+X.

Aber was soll das alles?

  • auto sorgt dafür das kein Fragen gestellt werden, fastcheck für eine schnellere Synchronisation
  • fat wird nur dann benötigt wenn eines der Laufwerke eine FAT32-Partition ist. In unserem Beispiel also überflüssig
  • label ist nur für die grafische Oberfläche
  • log sorgt dafür das die Synchronisierung geloggt wird. Wenn alles funktioniert kann man log auch auf false setzen
  • repeat ist die Anzahl an Sekunden, bis der wieder geprüft wird. repeat setzt automatisch auch watch.
  • silent sorgt dafür das am Bildschirm nichts ausgegeben wird
  • watch sorgt dafür das permanent nach Veränderung geschaut wird.

Unsion hat noch zahlreiche weitere Optionen, aber die da oben passen für mich ganz gut.

Jetzt geht es wieder zurück ins Home-Verzeichnis des Users. Dann wid dort ein Shell-Skript angelegt:

cd
 nano magentacloud.sh

Hier wird


#!/bin/bash
 mount /media/magentacloud/
 unison magentacloud

eingetragen. Der erste Befehl sorgt dafür das beim ersten Aufruf des Skripts sichergestellt ist, das die WebDAV-Verbindung besteht (vor allem nach dem Reboot wichtig). Der zweite Befehl startet die Synchronisierung.

Nach dem die Datei gespeichert ist muss diese noch ausführbar gemacht werden.

chmod +x magentacloud.sh

Will man das ganze starten, also einfach

./magentacloud.sh

ins Terminal hacken. Aber natürlich kann man das ganze auch automatisch beim booten ausführen. Dazu rufen wir über das Menü das Tool Startprogramme auf. Hier dann über Hinzufügen / Benutzerdefinierten Befehl das oben erzeugte Shellskript auswählen und fertig.

 

8 Kommentare

Marc 10. März 2018 Antworten

Vielen Dank für das sehr hilfreiche Tutorial! Ich glaube du hast aber den Befehl repeat mit retry verwechselt, zumindest deiner Beschreibung nach

repeat xxx
Setting this preference causes the text-mode interface to synchronize repeatedly, rather than doing it just once and stopping. If the argument is a number, Unison will pause for that many seconds before beginning again. When the argument is watch, Unison relies on an external file monitoring process to synchronize whenever a change happens.

retry n
Setting this preference causes the text-mode interface to try again to synchronize updated paths where synchronization fails. Each such path will be tried N times.

Alexander Thiel 11. März 2018 Antworten

Vollkommen korrekt… Da hab ich mich versehen.

Marc 12. März 2018 Antworten

Ich bin’s nochmal. Ich habe mich jetzt in den letzten Tagen relativ ausführlich mit der Thematik beschäftigt und möchte meine Erfahrungen kurz teilen.

Zuerst hatte ich das Problem, dass die Synchronisation trotz genaustem Befolgen der Anleitung nicht funktionierte. Nach langer Zeit konnte ich dann in Erfahrung bringen, dass es wohl an den Ubuntu Repositories liegt (?). Auf jeden Fall fehlte ein fsmonitor Prozess. Ich habe dann nach einer Anleitung es schließlich geschafft, unison von anderer Quelle selbst zu kompilieren und zu installieren (für Linux Neulinge bedeutet das, kryptische Kommandos ins Terminal zu kopieren und hoffen, dass es irgendwie funktioniert).

Im Anschluss konnte ich dann zwar zwei lokale Verzeichnisse synchronisieren, nicht jedoch ein lokales Verzeichnis und Magentacloud. Zu erwähnen ist, dass ich die unison preferences etwas angepasst hatte (repeat = watch). Nächste Erkenntnis: Damit der automatische fsmonitor-Watcher, der Dateiänderungen automatisch erkennt, vollständig funktionieren kann, muss unison wohl auf beiden PCs installiert sein. Das ist jedoch bei der Magentacloud nicht der Fall und logischerweise auch nicht möglich, womit auf dieser Seite Dateiänderungen auch nicht automatisch sofort erkannt werden können.

Ich habe dann die unison preferences wieder auf repeat = 5 geändert. Ab dann funktionierte auch der (stark verzögerte) Sync mit der Magentacloud wieder. Man muss sich aber im Klaren darüber sein, was hier passiert: Die Magentacloud wird regelmäßig aktiv auf Dateiänderungen überprüft. Dies dauert relativ lange (30sek-1min?). Anschließend wird 5 Sekunden gewartet (repeat = 5) und die aktive Abfrage erneut gestartet. Das ganze generiert auch einen messbaren Netzwerktraffic, der mit Ausnahme der 5 Sekunden Pause dauerhaft besteht (~ 100 kbit/s?).

Dies ist vor allem der Grund, warum ich diese Lösung als nicht technisch gleichwertig betrachte. Ich gehe davon aus, dass der proprietäre Windows Client dies technisch anders löst. Ich denke, dass dort Änderungen auf dem Server automatisch erkannt werden können und gepushed werden. Dies kann man mit Dritttools aber mangels Zugriff auf die Magentacloud Infrastruktur nicht nachbilden.

Wie gesagt, mir hat deine Anleitung sehr weitergeholfen. Vielleicht helfen meine Worte noch jemandem weiter. Ich habe mich aber dennoch entschieden, zu einem anderen Hoster mit nativem Linux Client zu wechseln.

Alexander Thiel 13. März 2018 Antworten

Hi Marc,

deine Annahme das die MagentaCLOUD eigene Software irgendwas pusht ist leider nicht richtig. Auch diese verfährt ähnlich wie Unison und generiert mehr oder weniger Traffic. Der Cloud-Server ist absolut passiv. Und vielleicht hast du damit den größten Knackpunkt der MagentaCLOUD ausgemacht.

Ich hab das inzwischen so gelöst das ich mehrere Jobs eingerichtet habe. Einen der z.B. einen Bilder Ordner synchronisiert aber nicht permanent sondern einmal am Tag (ausgelöst per Cronjob). Einen anderen Ordner mit Notizen lasse ich permanent Synchronisieren (alle 30 Sekunden) und wiederum einen anderen mit Dokumenten (die vom Handy via Scanbot kommen) speziell per Aufruf, also gar nicht automatisiert. So minimiere ich den Traffic + Last und die Ergebnisse sind auch nachvollziehbarer 😉

Für welchen Hoster hast du dich den entschieden?

Mfg der Alex

Marc 15. März 2018 Antworten

Wow, ich hätte gedacht, dass es dafür heutzutage intelligentere Lösungen gibt…

Okay, soviel Arbeit und Gedanken möchte ich mir aber am liebsten gar nicht machen.

Ich bin auf eine Cloud gestoßen, die über die Uni bereitgestellt wird: Sciebo. Basiert wohl auf owncloud und ist komplett kompatibel zu deren Clients. Ich denke, das werde ich bald mal testen.

Grüße

Marko 7. Dezember 2018 Antworten

Hallo,
Ich habe alles so gemacht wie in deiner Anleitung beschrieben, aber beim Ausführen des Skripts erhalte ich folgende Fehlermeldung:
Fatal error

File „magentacloud“, line 1: `watch‘ is not a valid option

Woran kann es liegen.
Soll ich watch aus dem Skript entfernen?
Vielen Dank für jegliche Hilfe!

Schreibe einen Kommentar zu Marko Antworten abbrechen