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.
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
--reportund--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.
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>
Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, können Sie mit der Option --code den TOTP-Code oder einen Wiederherstellungscode angeben.
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
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)
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]
| Option | Beschreibung |
|---|---|
-h, --help | Zeigt allgemeine Hilfe an |
-v, --version | Zeigt die CLI-Version an |
--update | Aktualisiert 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.
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--report | -r | Nur-Lese-Modus (Probelauf), zeigt Unterschiede an, ohne sie anzuwenden | ❌ |
--debug | -d | Aktiviert detaillierte Protokolle zum Debuggen | ❌ |
--async | -a | Führt Synchronisierungen parallel aus | ❌ |
--server <server> | -s | ID oder Name des zu synchronisierenden Servers | ❌ |
--path <paths...> | -p | Eine oder mehrere Pfad-IDs oder -Namen | ❌ |
--report, --debug und --async sind Flags und nehmen keinen Wert an.
servers Befehle
| Unterbefehl | Alias | Beschreibung |
|---|---|---|
list | ls | Alle registrierten Server auflisten |
add | mk | Einen neuen Server hinzufügen |
auth | touch | Erneut authentifizieren (Zugriffstoken aktualisieren) |
remove | rm | Einen 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]
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--name <name> | -n | Benutzerdefinierter Name zur Identifizierung des Servers | ✅ |
--url <url> | -w | Server-URL (z. B. https://my.sync-in.com) | ✅ |
--login <login> | -u | Benutzer-Login oder E-Mail-Adresse | ✅ |
--password <password> | -p | Benutzerpasswort | ✅ |
--code <code> | -c | Zwei-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>]
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--server <server> | -s | ID oder Name des Servers | ✅ |
--login <login> | -u | Benutzer-Login oder E-Mail-Adresse | ✅ |
--password <password> | -p | Benutzerpasswort | ✅ |
--code <code> | -c | Zwei-Faktor-Authentifizierungscode (2FA) oder Wiederherstellungscode | ❌ |
servers remove (alias: servers rm)
Entfernt einen registrierten Server.
./sync-in-cli servers remove --server <server>
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--server <server> | -s | ID oder Name des Servers | ✅ |
paths Befehle
| Unterbefehl | Alias | Beschreibung |
|---|---|---|
list | ls | Alle konfigurierten Synchronisierungspfade auflisten |
add | mk | Neuen lokalen/Remote-Synchronisierungspfad hinzufügen |
remove | rm | Vorhandenen Synchronisierungspfad entfernen |
set | vi | Synchronisierungsoptionen für einen vorhandenen Pfad bearbeiten |
update | up | Pfade vom Server aktualisieren |
flush | reset | Vorherige 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>]
| Option | Alias | Beschreibung | Erforderlich | Werte | Standard |
|---|---|---|---|---|---|
--server <server> | -s | Server-ID oder Name | ✅ | — | — |
--local-path <path> | -l | Pfad zu einer lokalen Datei oder einem lokalen Ordner | ✅ | — | — |
--remote-path <path> | -r | Remote-Pfad (spaces, personal oder shares) | ✅ | — | — |
--name <name> | -n | Benutzerdefinierter Synchronisierungsname | ❌ | — | — |
--mode <mode> | -m | Synchronisierungsmodus | ✅ | download, upload, both | — |
--ignore-delete | — | Löschungen nicht synchronisieren | ❌ | Flag (kein Wert) | false |
--diff-mode <mode> | -d | Differenzerkennungsmodus | ❌ | fast, secure | fast |
--conflict-mode <mode> | -c | Konfliktlösungsstrategie (bei --mode both) | ❌ | recent, local, remote | recent |
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>
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--server <server> | -s | Server-ID oder Name | ✅ |
--path <path> | -p | Pfad-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>]
| Option | Alias | Beschreibung | Erforderlich | Werte |
|---|---|---|---|---|
--server <server> | -s | Server-ID oder Name | ✅ | — |
--path <path> | -p | Pfad-ID oder Name | ✅ | — |
--name <name> | -n | Neuer Synchronisierungsname | ❌ | — |
--mode <mode> | -m | Synchronisierungsmodus | ❌ | download, upload, both |
--ignore-delete <boolean> | — | Aktiviert oder deaktiviert das Ignorieren von Löschungen | ❌ | true, false |
--diff-mode <mode> | -d | Differenzerkennungsmodus | ❌ | fast, secure |
--conflict-mode <mode> | -c | Konfliktlö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>
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--server <server> | -s | Server-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>
| Option | Alias | Beschreibung | Erforderlich |
|---|---|---|---|
--server <server> | -s | Server-ID oder Name | ✅ |
--path <path> | -p | Pfad-ID oder Name | ✅ |