Vai al contenuto principale

Sincronizzazione da riga di comando

Utilizza l'interfaccia a riga di comando (CLI) di Sync-in per configurare e avviare le sincronizzazioni tra i file locali e i server remoti. Questa interfaccia consente inoltre di gestire più server, definire percorsi di sincronizzazione personalizzati e automatizzare i flussi di lavoro di trasferimento.

È una soluzione ideale per gli utenti avanzati, gli script o gli ambienti privi di interfaccia grafica.

CLI di Sync-in

Casi d'uso​

  • Lavorare in ambienti privi di interfaccia grafica, come server remoti o container.
  • Pianificare sincronizzazioni automatiche mediante attività CRON o un'utilità di pianificazione di sistema.
  • Automatizzare i flussi di lavoro aziendali, integrando il client CLI negli script di elaborazione o backup.
  • Provare le sincronizzazioni in modalità simulazione, usando le opzioni --report e --debug per individuare le modifiche senza applicarle o per diagnosticare i problemi.
  • Gestire più server, centralizzando le connessioni in un unico strumento.
  • Distribuire configurazioni predefinite, per installazioni automatizzate su più computer o ambienti.

Requisiti di accesso​

Per utilizzare il client CLI devono essere soddisfatte le seguenti condizioni:

  • Disporre dell'autorizzazione di accesso dall'applicazione desktop
  • Disporre dell'autorizzazione di sincronizzazione dall'applicazione desktop
  • Aver scaricato il file binario della CLI dal proprio Account o dalla pagina dei Download
Requisito di Node.js

La CLI richiede Node.js 22.12.0 o versione successiva. Verifica la versione installata prima di avviare la CLI:

node --version

Avvio rapido​

1. Aggiungere un server​

./sync-in-cli servers add \
--name <MIO_SERVER> \
--url https://<TUO_DOMINIO> \
--login <TUO_LOGIN> \
--password <TUA_PASSWORD>
informazioni

Se è abilitata l'autenticazione a due fattori, puoi fornire il codice TOTP o un codice di recupero mediante l'opzione --code.

suggerimento

Puoi utilizzare una password per applicazioni per completare la registrazione, ad esempio quando è consentita soltanto l'autenticazione OpenID Connect.

2. Aggiungere un percorso da sincronizzare​

./sync-in-cli paths add \
--server <MIO_SERVER> \
--local-path </percorso/locale/dei/file> \
--remote-path <personal|spaces|shares/...> \
--name <NOME_PERCORSO> \
--mode <both|upload|download> \
--diff-mode <fast|secure> \
--conflict-mode <recent|local|remote>

3. Avviare la sincronizzazione​

./sync-in-cli run \
--server <MIO_SERVER> \
--path <NOME_PERCORSO>

Aggiornamento della CLI​

Per conoscere la versione installata:

./sync-in-cli --version

Per installare l'ultima versione stabile:

./sync-in-cli --update

La CLI scarica l'ultima versione stabile da GitHub e sostituisce il proprio file nella stessa posizione, mantenendone i permessi. Se la versione installata è già aggiornata o più recente, non viene effettuata alcuna sostituzione.

Esegui --update da solo, senza altri comandi né numeri di versione. L'utente deve disporre dei diritti di scrittura nella directory che contiene la CLI.


Gestione​

Una volta configurato e registrato sul server, il client CLI dispone dell'accesso al tuo account. Le informazioni relative alla connessione sono disponibili nel menu Client del tuo account.

L'accesso del client CLI può essere revocato in qualsiasi momento, indipendentemente dal computer usato per configurarlo.

Dallo stesso menu è inoltre possibile modificare la configurazione delle sincronizzazioni dei percorsi gestiti dal client CLI. Le modifiche verranno applicate alla sincronizzazione successiva.


Sicurezza​

Dopo un certo periodo potrebbe essere richiesta una nuova autenticazione per rinnovare in modo sicuro l'accesso al tuo account.

Per eseguire questa operazione, consulta il comando di riautenticazione.


Note​

nota

A differenza dell'applicazione desktop, i file eliminati localmente (sul computer) non vengono spostati nel cestino.


Comandi​

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)
Guida specifica per la versione

La guida integrata corrisponde sempre alla versione della CLI installata. Usa ./sync-in-cli --help per visualizzare i comandi oppure ./sync-in-cli <comando> --help per ottenere la guida contestuale, ad esempio:

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

Opzioni globali​

./sync-in-cli [options]
OpzioneDescrizione
-h, --helpVisualizza la guida generale
-v, --versionVisualizza la versione dello strumento
--updateAggiorna la CLI all'ultima versione stabile

Comando run​

Consente di avviare manualmente una sincronizzazione dalla riga di comando. Puoi eseguire tutti i percorsi configurati oppure scegliere come destinazione un server o uno o più percorsi specifici.

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

Senza --server, vengono considerati tutti i server configurati. Senza --path, vengono sincronizzati tutti i percorsi attivi dei server selezionati. Se utilizzi --path senza --server, la CLI cerca i percorsi indicati su tutti i server configurati. Puoi specificare più ID o nomi dopo un'unica opzione --path oppure ripetere l'opzione.

OpzioneAliasDescrizioneObbligatoria
--report-rModalità di sola lettura (dry-run), mostra le differenze senza applicarle❌
--debug-dAbilita i log dettagliati per il debug❌
--async-aEsegue le sincronizzazioni in parallelo❌
--server <server>-sID o nome del server da sincronizzare❌
--path <paths...>-pUno o più ID o nomi di percorsi, separati da spazi❌

Le opzioni --report, --debug e --async sono flag senza valore: la loro presenza abilita il comportamento associato.

Comandi servers​

SottocomandoAliasDescrizione
listlsElenca i server registrati
addmkAggiunge un server remoto
authtouchEsegue nuovamente l'autenticazione (rinnova il token)
removermRimuove un server registrato

Elenca i server registrati con ./sync-in-cli servers list o ./sync-in-cli servers ls.

servers add (alias: servers mk)​

Aggiunge e registra un server remoto da utilizzare con il client CLI.

./sync-in-cli servers add --name <name> --url <url> --login <login> --password <password> [--code <code>] [--allow-invalid-certificate]
OpzioneAliasDescrizioneObbligatoria
--name <name>-nNome personalizzato per identificare il server✅
--url <url>-wURL del server (ad es. https://mia-istanza.com)✅
--login <login>-uNome utente o indirizzo e-mail dell'utente✅
--password <password>-pPassword dell'utente✅
--code <code>-cCodice di autenticazione a due fattori o codice di recupero❌
--allow-invalid-certificate—Consente un certificato TLS non riconosciuto❌

--allow-invalid-certificate è un flag senza valore. Utilizzalo solo se consideri attendibili il server e il relativo certificato.

servers auth (alias: servers touch)​

Esegue nuovamente l'autenticazione per un server già registrato e ne aggiorna il token di accesso.

./sync-in-cli servers auth --server <server> --login <login> --password <password> [--code <code>]
OpzioneAliasDescrizioneObbligatoria
--server <server>-sID o nome del server✅
--login <login>-uNome utente o indirizzo e-mail dell'utente✅
--password <password>-pPassword dell'utente✅
--code <code>-cCodice di autenticazione a due fattori o codice di recupero❌

servers remove (alias: servers rm)​

Rimuove un server registrato.

./sync-in-cli servers remove --server <server>
OpzioneAliasDescrizioneObbligatoria
--server <server>-sID o nome del server✅

Comandi paths​

SottocomandoAliasDescrizione
listlsElenca i percorsi di sincronizzazione per server
addmkAggiunge un nuovo percorso locale/remoto da sincronizzare
removermRimuove un percorso sincronizzato
setviModifica le opzioni di un percorso esistente
updateupAggiorna i percorsi in base alle informazioni più recenti del server
flushresetElimina gli snapshot di un percorso sincronizzato

Elenca i percorsi configurati con ./sync-in-cli paths list o ./sync-in-cli paths ls.

paths add (alias: paths mk)​

Aggiunge un percorso locale/remoto da sincronizzare.

./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>]
OpzioneAliasDescrizioneObbligatoriaValori possibiliPredefinito
--server <server>-sID o nome del server✅——
--local-path <path>-lPercorso locale di un file o una cartella✅——
--remote-path <path>-rPercorso remoto (spaces, personal o shares)✅——
--name <name>-nNome personalizzato della sincronizzazione❌——
--mode <mode>-mModalità di sincronizzazione✅download, upload, both—
--ignore-delete—Non sincronizza le eliminazioni❌Flag senza valorefalse
--diff-mode <mode>-dModalità di rilevamento delle differenze❌fast, securefast
--conflict-mode <mode>-cStrategia in caso di conflitto (se --mode both)❌recent, local, remoterecent

Il percorso remoto deve iniziare con personal, spaces o shares. La presenza di --ignore-delete abilita questa opzione; non assegnarle alcun valore.


paths remove (alias: paths rm)​

Rimuove un percorso già sincronizzato.

./sync-in-cli paths remove --server <server> --path <path>
OpzioneAliasDescrizioneObbligatoria
--server <server>-sID o nome del server✅
--path <path>-pID o nome del percorso sincronizzato✅

paths set (alias: paths vi)​

Modifica le impostazioni di sincronizzazione di un percorso.

./sync-in-cli paths set \
--server <server> \
--path <path> \
[--name <name>] \
[--mode <mode>] \
[--ignore-delete <boolean>] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
OpzioneAliasDescrizioneObbligatoriaValori possibili
--server <server>-sID o nome del server✅—
--path <path>-pID o nome del percorso sincronizzato✅—
--name <name>-nNuovo nome della sincronizzazione❌—
--mode <mode>-mModalità di sincronizzazione❌download, upload, both
--ignore-delete <boolean>—Abilita o disabilita la sincronizzazione delle eliminazioni❌true, false
--diff-mode <mode>-dModalità di rilevamento delle differenze❌fast, secure
--conflict-mode <mode>-cStrategia di risoluzione dei conflitti (se --mode both)❌recent, local, remote

Per paths set, specifica esplicitamente true o false per --ignore-delete. Consulta Ignorare le eliminazioni per conoscerne il comportamento in ogni direzione di sincronizzazione.

paths update (alias: paths up)​

Aggiorna tutti i percorsi sincronizzati di un server in base alle informazioni più recenti del server.

./sync-in-cli paths update --server <server>
OpzioneAliasDescrizioneObbligatoria
--server <server>-sID o nome del server✅

paths flush (alias: paths reset)​

Elimina gli snapshot (stati precedenti) di un percorso sincronizzato.

./sync-in-cli paths flush --server <server> --path <path>
OpzioneAliasDescrizioneObbligatoria
--server <server>-sID o nome del server✅
--path <path>-pID o nome del percorso sincronizzato✅