Zum Hauptinhalt springen

Synchronisierung über die Befehlszeile

Verwenden Sie die Befehlszeilenschnittstelle (CLI) von Sync-in, um Synchronisierungen zwischen Ihren lokalen Dateien und Remote-Servern zu konfigurieren und auszulösen. Über diese Schnittstelle können Sie auch mehrere Server verwalten, benutzerdefinierte Synchronisierungspfade definieren und Ihre Übertragungsworkflows automatisieren.

Sie eignet sich ideal für fortgeschrittene Benutzer, Skripting und Umgebungen ohne grafische Oberfläche.

Sync CLI

Anwendungsfälle​

  • In Headless-Umgebungen arbeiten, beispielsweise auf Remote-Servern oder in Containern.
  • Automatische Synchronisierungen planen mithilfe von Cron-Jobs oder einem Systemplaner.
  • Arbeitsabläufe automatisieren, indem Sie die CLI in Verarbeitungs- oder Sicherungsskripte integrieren.
  • Synchronisierungen im Simulationsmodus testen mit den Optionen --report und --debug, um Änderungen zu prüfen, ohne sie anzuwenden, oder um Fehler zu beheben.
  • Mehrere Server verwalten und ihre Verbindungen in einem Tool zentralisieren.
  • Vordefinierte Konfigurationen bereitstellen für automatisierte Installationen auf mehreren Computern oder in mehreren Umgebungen.

Zugangsvoraussetzungen​

Um die CLI nutzen zu können, müssen folgende Bedingungen erfüllt sein:

  • Sie benötigen die Berechtigung Zugriff über die Desktop-App.
  • Sie benötigen die Berechtigung Synchronisierung über die Desktop-App.
  • Sie müssen die CLI-Binärdatei von Ihrem Konto oder der Seite Downloads herunterladen.
Node.js-Anforderung

Die CLI erfordert Node.js 22.12.0 oder höher. Überprüfen Sie die installierte Version, bevor Sie die CLI ausführen:

node --version

Schnellstart​

1. Fügen Sie einen Server hinzu​

./sync-in-cli servers add \
--name <MEIN_SERVER> \
--url https://<IHRE_DOMAIN> \
--login <IHR_LOGIN> \
--password <IHR_PASSWORT>
Info

Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, können Sie mit der Option --code den TOTP-Code oder einen Wiederherstellungscode angeben.

Tipp

Sie können ein Anwendungskennwort verwenden, um die Registrierung abzuschließen, beispielsweise wenn nur die OpenID Connect-Authentifizierung zulässig ist.

2. Fügen Sie einen Synchronisierungspfad hinzu​

./sync-in-cli paths add \
--server <MEIN_SERVER> \
--local-path </lokaler/pfad/zu/dateien> \
--remote-path <personal|spaces|shares/...> \
--name <PFADNAME> \
--mode <both|upload|download> \
--diff-mode <fast|secure> \
--conflict-mode <recent|local|remote>

3. Starten Sie die Synchronisierung​

./sync-in-cli run \
--server <MEIN_SERVER> \
--path <PFADNAME>

Aktualisieren der CLI​

Überprüfen Sie die installierte Version:

./sync-in-cli --version

Aktualisierung auf die neueste stabile Version:

./sync-in-cli --update

Die CLI lädt die neueste stabile Version von GitHub herunter und ersetzt sich selbst am selben Ort, wobei ihre Berechtigungen erhalten bleiben. Ist die installierte Version bereits aktuell oder neuer, erfolgt kein Ersatz.

Führen Sie --update allein aus, ohne einen weiteren Befehl oder eine Versionsnummer. Ihr Benutzer muss Schreibzugriff auf das Verzeichnis haben, das die CLI enthält.


Verwaltung​

Sobald die CLI konfiguriert und beim Server registriert ist, hat sie Zugriff auf Ihr Konto.
Verbindungsdetails können im Menü Clients Ihres Kontos eingesehen werden.

Sie können den CLI-Zugriff jederzeit widerrufen, unabhängig von dem für die Konfiguration verwendeten Computer.

Über dasselbe Menü können Sie auch die Synchronisierungskonfiguration von CLI-verwalteten Pfaden aktualisieren.
Die Änderungen werden beim nächsten Start einer Synchronisierung übernommen.


Sicherheit​

Nach einer bestimmten Zeit werden Sie möglicherweise aufgefordert, sich erneut zu authentifizieren, um den Zugriff auf Ihr Konto sicher zu erneuern.

Informationen zum Ausführen dieses Vorgangs finden Sie im Befehl zur erneuten Authentifizierung.


Hinweise​

Hinweis

Im Gegensatz zur Desktop-Anwendung werden lokal (auf dem Computer) gelöschte Dateien nicht in den Papierkorb verschoben.


Befehle​

sync-in-cli
├── run
├── servers
│ ├── list (ls)
│ ├── add (mk)
│ ├── auth (touch)
│ └── remove (rm)
└── paths
├── list (ls)
├── add (mk)
├── remove (rm)
├── set (vi)
├── update (up)
└── flush (reset)
Versionsspezifische Hilfe

Die integrierte Hilfe entspricht immer Ihrer installierten CLI-Version. Führen Sie ./sync-in-cli --help für die Befehlsliste oder ./sync-in-cli <befehl> --help für kontextbezogene Hilfe aus, zum Beispiel:

./sync-in-cli paths add --help

Globale Optionen​

./sync-in-cli [options]
OptionBeschreibung
-h, --helpZeigt allgemeine Hilfe an
-v, --versionZeigt die CLI-Version an
--updateAktualisiert die CLI auf die neueste stabile Version

Befehl run​

Startet manuell eine Synchronisierung. Sie können alle konfigurierten Pfade synchronisieren oder einen Server und einen oder mehrere seiner Pfade als Ziel festlegen.

./sync-in-cli run [--report] [--debug] [--async] [--server <server>] [--path <paths...>]

Ohne --server werden alle konfigurierten Server berücksichtigt. Ohne --path werden alle aktivierten Pfade auf den Zielservern synchronisiert. Bei Verwendung von --path ohne --server sucht die CLI auf jedem konfigurierten Server nach den angegebenen Pfaden. Übergeben Sie mehrere Pfad-IDs oder Namen nach einer einzelnen Option --path oder wiederholen Sie die Option.

OptionAliasBeschreibungErforderlich
--report-rNur-Lese-Modus (Probelauf), zeigt Unterschiede an, ohne sie anzuwenden❌
--debug-dAktiviert detaillierte Protokolle zum Debuggen❌
--async-aFührt Synchronisierungen parallel aus❌
--server <server>-sID oder Name des zu synchronisierenden Servers❌
--path <paths...>-pEine oder mehrere Pfad-IDs oder -Namen❌

--report, --debug und --async sind Flags und nehmen keinen Wert an.

servers Befehle​

UnterbefehlAliasBeschreibung
listlsAlle registrierten Server auflisten
addmkEinen neuen Server hinzufügen
authtouchErneut authentifizieren (Zugriffstoken aktualisieren)
removermEinen registrierten Server entfernen

Listen Sie die registrierten Server mit ./sync-in-cli servers list (oder ./sync-in-cli servers ls) auf.

servers add (alias: servers mk)​

Fügt einen Remote-Server zur Verwendung mit der CLI hinzu und registriert ihn.

./sync-in-cli servers add --name <name> --url <url> --login <login> --password <password> [--code <code>] [--allow-invalid-certificate]
OptionAliasBeschreibungErforderlich
--name <name>-nBenutzerdefinierter Name zur Identifizierung des Servers✅
--url <url>-wServer-URL (z. B. https://my.sync-in.com)✅
--login <login>-uBenutzer-Login oder E-Mail-Adresse✅
--password <password>-pBenutzerpasswort✅
--code <code>-cZwei-Faktor-Authentifizierungscode (2FA) oder Wiederherstellungscode❌
--allow-invalid-certificate—Erlaubt ein ungültiges TLS-Zertifikat❌

--allow-invalid-certificate ist ein Flag und nimmt keinen Wert an. Verwenden Sie es nur, wenn Sie dem Server und seinem Zertifikat vertrauen.

servers auth (alias: servers touch)​

Aktualisiert das Zugriffstoken für einen registrierten Server.

./sync-in-cli servers auth --server <server> --login <login> --password <password> [--code <code>]
OptionAliasBeschreibungErforderlich
--server <server>-sID oder Name des Servers✅
--login <login>-uBenutzer-Login oder E-Mail-Adresse✅
--password <password>-pBenutzerpasswort✅
--code <code>-cZwei-Faktor-Authentifizierungscode (2FA) oder Wiederherstellungscode❌

servers remove (alias: servers rm)​

Entfernt einen registrierten Server.

./sync-in-cli servers remove --server <server>
OptionAliasBeschreibungErforderlich
--server <server>-sID oder Name des Servers✅

paths Befehle​

UnterbefehlAliasBeschreibung
listlsAlle konfigurierten Synchronisierungspfade auflisten
addmkNeuen lokalen/Remote-Synchronisierungspfad hinzufügen
removermVorhandenen Synchronisierungspfad entfernen
setviSynchronisierungsoptionen für einen vorhandenen Pfad bearbeiten
updateupPfade vom Server aktualisieren
flushresetVorherige Snapshots eines Synchronisierungspfads löschen

Listen Sie alle konfigurierten Pfade mit ./sync-in-cli paths list (oder ./sync-in-cli paths ls) auf.

paths add (alias: paths mk)​

Fügt einen neuen Synchronisierungspfad (lokal/remote) hinzu.

./sync-in-cli paths add \
--server <server> \
--local-path <path> \
--remote-path <path> \
--mode <mode> \
[--name <name>] \
[--ignore-delete] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
OptionAliasBeschreibungErforderlichWerteStandard
--server <server>-sServer-ID oder Name✅——
--local-path <path>-lPfad zu einer lokalen Datei oder einem lokalen Ordner✅——
--remote-path <path>-rRemote-Pfad (spaces, personal oder shares)✅——
--name <name>-nBenutzerdefinierter Synchronisierungsname❌——
--mode <mode>-mSynchronisierungsmodus✅download, upload, both—
--ignore-delete—Löschungen nicht synchronisieren❌Flag (kein Wert)false
--diff-mode <mode>-dDifferenzerkennungsmodus❌fast, securefast
--conflict-mode <mode>-cKonfliktlösungsstrategie (bei --mode both)❌recent, local, remoterecent

Der Remote-Pfad muss mit personal, spaces oder shares beginnen. --ignore-delete ist ein Flag und nimmt keinen Wert an.

paths remove (alias: paths rm)​

Löscht einen vorhandenen Synchronisierungspfad.

./sync-in-cli paths remove --server <server> --path <path>
OptionAliasBeschreibungErforderlich
--server <server>-sServer-ID oder Name✅
--path <path>-pPfad-ID oder Name✅

paths set (alias: paths vi)​

Ändert die Synchronisierungsoptionen für einen vorhandenen Pfad.

./sync-in-cli paths set \
--server <server> \
--path <path> \
[--name <name>] \
[--mode <mode>] \
[--ignore-delete <boolean>] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
OptionAliasBeschreibungErforderlichWerte
--server <server>-sServer-ID oder Name✅—
--path <path>-pPfad-ID oder Name✅—
--name <name>-nNeuer Synchronisierungsname❌—
--mode <mode>-mSynchronisierungsmodus❌download, upload, both
--ignore-delete <boolean>—Aktiviert oder deaktiviert das Ignorieren von Löschungen❌true, false
--diff-mode <mode>-dDifferenzerkennungsmodus❌fast, secure
--conflict-mode <mode>-cKonfliktlösungsstrategie (bei --mode both)❌recent, local, remote

Übergeben Sie für paths set den Kleinbuchstabenwert true oder false explizit nach --ignore-delete. Informationen zum Verhalten in jeder Synchronisierungsrichtung finden Sie unter Löschungen ignorieren.

paths update (alias: paths up)​

Aktualisiert alle Synchronisierungspfade anhand der neuesten Informationen des angegebenen Servers.

./sync-in-cli paths update --server <server>
OptionAliasBeschreibungErforderlich
--server <server>-sServer-ID oder Name✅

paths flush (alias: paths reset)​

Löscht die Snapshots (vorherige Zustände) eines Pfades.

./sync-in-cli paths flush --server <server> --path <path>
OptionAliasBeschreibungErforderlich
--server <server>-sServer-ID oder Name✅
--path <path>-pPfad-ID oder Name✅