Kann ich den Sync-Client als Windows Dienst konfigurieren?

Auf Arbeitsplatzrechnern ist die Synchronisation mit SecureCloud einfach: Der SecureCloud Sync-Client startet automatisch nach der Anmeldung und hält die Bibliotheken synchron. Auf einem Windows Server, auf dem in der Regel keine Benutzeranmeldung erfolgt, greift die Client-Einstellung „SecureCloud nach der Anmeldung automatisch starten“ nicht.

Die Konfiguration des SecureCloud Sync-Clients als Windows-Dienst ist in diesem Fall eine einfache Option, um den Start des Sync-Clients unabhängig von der Windows-Benutzeranmeldung zu machen. Dieser Artikel beschreibt die Einrichtung von SecureCloud als Windows-Dienst.

Einsatzgebiet

Für Linux gibt es den Terminal-Client. Ein Pendant dafür gibt es unter Windows nicht. Mit der Einrichtung von SecureCloud als Windows-Dienst lässt sich jedoch eine ähnliche Funktion erreichen: Der SecureCloud Sync-Client läuft im Hintergrund ohne grafische Benutzeroberfläche und synchronisiert eine definierte Auswahl von Bibliotheken.

Diese Funktion ist gerade für Administratoren von Windows Servern interessant, die Mitarbeitern per Remote Desktop Services (Terminalserver) Zugriff auf Unternehmensanwendungen und -daten verschaffen. Mit dem SecureCloud Sync-Client als Windows-Dienst lassen sich die Daten auf den Windows Server synchronisieren und dort als freigegebener Ordner an die Benutzer durchreichen.

Voraussetzungen für SecureCloud als Windows-Dienst

Die Einrichtung des SecureCloud Sync-Clients als Dienst ist auf aktuellen Windows Desktop- und Server-Betriebssystemen möglich. Wir haben es für diesen Artikel auf Windows 10 (Version 1803 und 1809) und Windows Server 2016 getestet.

Alles, was man braucht, ist ein SecureCloud-Zugang und ein Windows-System mit installiertem SecureCloud Sync-Client.

Wir verwenden in diesem Beitrag außerdem den Service Manager (NSSM). Er ist Open Source, funktioniert gut und bietet viele erweiterte Konfigurationsmöglichkeiten. Es gibt keinen zwingenden Grund für NSSM. Dienstmanager von Microsoft wie instsrv und srvany oder Drittprodukte wie FireDaemon tun mehr oder weniger das Gleiche. Wer die Bordmittel von Windows bevorzugt, kann diese ebenfalls nutzen.

Einrichtung des SecureCloud Sync-Clients als Dienst

Für die Einrichtungsanleitung gehen wir davon aus, dass

  • der Sync-Client unter dem Standardinstallationspfad installiert wird und
  • es einen Benutzer Admin mit ausreichenden Berechtigungen gibt.
  • der SecureCloud-Ordner am Standardort im Benutzerprofil liegt.

Wenn Sie von diesen Vorgaben abweichen, muss die Dienstkonfiguration entsprechend angepasst werden.

Installation des SecureCloud Sync-Clients

Zunächst muss der SecureCloud Sync-Client auf dem gewünschten System installiert und die Synchronisation für die gewünschten Bibliotheken eingerichtet werden. Das Sync-Ziel sollte ein Unterordner im Standardordner von SecureCloud sein.

Beenden Sie den SecureCloud Sync-Client im Anschluss und deaktivieren Sie die Autostart-Funktion des Clients (in den Einstellungen über die Taskleiste).

❗️

Dienst und Desktop-Anwendung nie gleichzeitig betreiben

Die Desktop-Anwendung (securecloud-client.exe) startet bei jedem Aufruf einen eigenen Synchronisationsprozess. Läuft der Dienst bereits, arbeiten zwei Prozesse auf derselben Datenablage. Das beschädigt die lokale Datenbank, betroffene Bibliotheken melden dann „Internal data corrupt on the client“ oder „Failed to write data on the client“ und müssen neu synchronisiert werden.

Deshalb gilt im Dienstbetrieb:

  • Die Autostart-Funktion nach jedem Update erneut prüfen, die Installation aktiviert sie wieder.
  • Die Desktop-Anwendung nur öffnen, wenn der Dienst gestoppt ist, zum Beispiel für Statusprüfungen, „Neu synchronisieren“ oder das Verknüpfen weiterer Bibliotheken. Danach die Desktop-Anwendung beenden und den Dienst wieder starten.
  • Bei Verdacht auf Parallelbetrieb im Task-Manager (Registerkarte Details) prüfen, ob securecloud-daemon.exe mehr als einmal läuft, auch in anderen Sitzungen desselben Kontos.

Erkennungsmerkmal in C:\Users\<Benutzername>\ccnet\logs\applet.log: Wiederholte Zeilen Failed to connect to named pipe: Access is denied bedeuten, dass die Desktop-Anwendung gestartet wurde, während der Dienst lief.

Vorbereiten von NSSM

Laden Sie den Service Manager (NSSM) herunter und entpacken Sie das Archiv. Im entpackten NSSM-Ordner befinden sich drei Ordner. Neben dem Ordner src sind dies die Ordner mit der 32- und 64-Bit-Version der nssm.exe, mit der SecureCloud als Dienst eingerichtet wird.

NSSM kann vollständig über die Eingabeaufforderung gesteuert werden. Die Dokumentation der Kommandozeilenbefehle findet sich auf der Projektseite von NSSM. Da die Nutzung der grafischen Benutzeroberfläche (GUI) einfacher ist, benutzen wir diese für die Anleitung.

Diese rufen Sie über die Eingabeaufforderung mit folgendem Befehl auf:

nssm install
📘

Hinweis

NSSM lässt sich am bequemsten nutzen, wenn Sie den Pfad der nssm.exe der Benutzervariablen Path hinzufügen. Ansonsten müssen Sie bei jedem Aufruf von NSSM in der Eingabeaufforderung in den Ordner navigieren oder den vollständigen Pfad eingeben.

Die Abbildung zeigt die drei für die Einrichtung von SecureCloud als Dienst zentralen Registerkarten:

Auf der Registerkarte Application werden der Pfad der auszuführenden Binärdatei sowie die Startargumente definiert.

Auf der Registerkarte Details definiert man den Anzeigenamen des Dienstes. Der Anzeigename ist die Bezeichnung, unter der der Dienst in der Windows-Diensteverwaltung angezeigt wird.

Auf der Registerkarte Log On werden die Zugangsdaten des Benutzers hinterlegt, mit dessen Berechtigungen der Dienst ausgeführt wird.

Konfiguration von SecureCloud als Dienst mit NSSM

Im Tab Application geben Sie im Feld Path den Pfad der securecloud-daemon.exe an (also „C:\Program Files\SecureCloud\bin\securecloud-daemon.exe“). Das Feld Startup directory, das nach Angabe des Pfads automatisch ausgefüllt wird, muss nicht geändert werden.

Als Startargumente geben Sie Folgendes an:

-c "C:\Users\<Benutzername des Windows Users>\ccnet" -d "C:\Users\<Benutzername des Windows Users>\SecureCloud\securecloud-data" -w "C:\Users\<Benutzername des Windows Users>\SecureCloud"

Mit dem Benutzer „Admin“ sieht das zum Beispiel so aus:

-c "C:\Users\Admin\ccnet" -d "C:\Users\Admin\SecureCloud\securecloud-data" -w "C:\Users\Admin\SecureCloud"
❗️

Dieselbe Datenablage wie die Desktop-Anwendung

Die Pfade hinter -c, -d und -w müssen genau denen entsprechen, mit denen die Desktop-Anwendung startet. Das Beispiel gilt nur für den Standardordner im Benutzerprofil. Liegt der SecureCloud-Ordner an einem anderen Ort, etwa auf einem anderen Laufwerk, oder war früher ein anderer Client im Einsatz, stehen die richtigen Werte in C:\Users\<Benutzername des Windows Users>\ccnet\logs\applet.log in der letzten Zeile mit den Angaben -c, -d und -w.

Zeigt der Dienst auf eine andere Datenablage, führen Dienst und Desktop-Anwendung getrennte Datenbanken für dieselben Ordner. Ein „Neu synchronisieren“ in der Desktop-Anwendung wirkt dann nicht für den Dienst, und Fehler wie „Internal data corrupt on the client“ kehren nach dem Wechsel zum Dienst zurück.

-w legt nur den Standardordner für neu hinzugefügte Bibliotheken fest, bereits synchronisierte Bibliotheken behalten ihre Ordner. Pfade in Anführungszeichen nicht mit einem Backslash beenden, also "D:\SecureCloud" statt "D:\SecureCloud\", sonst wird das schließende Anführungszeichen Teil des Pfads.

Geben Sie nun im Tab Details den gewünschten Anzeigenamen des Dienstes (z. B. SecureCloud) und, sofern gewünscht, eine Beschreibung ein.

Im Tab Log On wählen Sie This account und geben den Benutzernamen und das Passwort des Benutzers Admin ein.

Zum Abschluss geben Sie bei Service name den Namen ein, unter dem der Dienst intern verwaltet wird, und bestätigen die Einrichtung. Sind Pfade und Zugangsdaten korrekt, folgt eine Erfolgsmeldung.

Start des Dienstes

Der Dienst ist nun angelegt. Der Start erfolgt am einfachsten über die Diensteverwaltung services.msc. Mit einem Rechtsklick auf den Dienstnamen lässt sich der Dienst über das Kontextmenü starten.

Wenn Sie im Tab Details den Starttyp nicht geändert haben, startet der SecureCloud-Dienst automatisch bei jedem Systemstart. Nach einem Neustart des Servers müssen Sie den Dienst also nicht manuell starten.

Änderungen und Updates im Dienstbetrieb

Für jede Änderung an den synchronisierten Bibliotheken und für jedes Update gilt dieselbe Reihenfolge:

  1. Dienst über die Windows-Diensteverwaltung stoppen und im Task-Manager sicherstellen, dass securecloud-daemon.exe und securecloud-client.exe nicht mehr laufen.
  2. Bei einem Update jetzt die neue Version installieren. Anschließend in NSSM prüfen, dass der Dienst weiterhin auf securecloud-daemon.exe im Installationsordner zeigt und -c, -d und -w mit den Werten der Desktop-Anwendung übereinstimmen (siehe Hinweis oben).
  3. Die Desktop-Anwendung starten und die Änderungen vornehmen, zum Beispiel Bibliotheken hinzufügen, entfernen oder „Neu synchronisieren“. Warten, bis alle Bibliotheken auf „synchronisiert“ stehen.
  4. In den Einstellungen die Autostart-Funktion ausschalten und die Desktop-Anwendung beenden.
  5. Dienst starten.

Löschbestätigung im Dienstbetrieb

Sollen bei einem Abgleich mehr Dateien gelöscht werden als in der Desktop-Anwendung unter Einstellungen, Reiter „Erweitert“, festgelegt (Standard 500), hält der Sync-Client die Bibliothek an und wartet auf eine Bestätigung. Im Dienstbetrieb erscheint dafür kein Fenster, die Bibliothek synchronisiert bis zur Entscheidung nicht.

  1. Dienst stoppen und die Desktop-Anwendung starten. Sie fragt „Möchten Sie die Dateien in Bibliothek … löschen?“.
  2. „Ja“, wenn die Löschung gewollt war, dann werden die Dateien auch in der Cloud gelöscht. „Nein“ synchronisiert die Bibliothek neu aus der Cloud, die gelöschten Dateien kommen lokal zurück.
  3. Desktop-Anwendung beenden und Dienst starten.

Die Schwelle lässt sich anpassen (z. B. auf 10.000), aber nicht abschalten. Sie verhindert, dass eine versehentliche Massenlöschung in einer Freigabe ungefragt in die Cloud übertragen wird.



Did this page help you?