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.
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
--reporte--debugper 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
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>
Se è abilitata l'autenticazione a due fattori, puoi fornire il codice TOTP o un codice di recupero mediante l'opzione --code.
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
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)
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]
| Opzione | Descrizione |
|---|---|
-h, --help | Visualizza la guida generale |
-v, --version | Visualizza la versione dello strumento |
--update | Aggiorna 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.
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--report | -r | Modalità di sola lettura (dry-run), mostra le differenze senza applicarle | ❌ |
--debug | -d | Abilita i log dettagliati per il debug | ❌ |
--async | -a | Esegue le sincronizzazioni in parallelo | ❌ |
--server <server> | -s | ID o nome del server da sincronizzare | ❌ |
--path <paths...> | -p | Uno 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
| Sottocomando | Alias | Descrizione |
|---|---|---|
list | ls | Elenca i server registrati |
add | mk | Aggiunge un server remoto |
auth | touch | Esegue nuovamente l'autenticazione (rinnova il token) |
remove | rm | Rimuove 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]
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--name <name> | -n | Nome personalizzato per identificare il server | ✅ |
--url <url> | -w | URL del server (ad es. https://mia-istanza.com) | ✅ |
--login <login> | -u | Nome utente o indirizzo e-mail dell'utente | ✅ |
--password <password> | -p | Password dell'utente | ✅ |
--code <code> | -c | Codice 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>]
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ |
--login <login> | -u | Nome utente o indirizzo e-mail dell'utente | ✅ |
--password <password> | -p | Password dell'utente | ✅ |
--code <code> | -c | Codice 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>
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ |
Comandi paths
| Sottocomando | Alias | Descrizione |
|---|---|---|
list | ls | Elenca i percorsi di sincronizzazione per server |
add | mk | Aggiunge un nuovo percorso locale/remoto da sincronizzare |
remove | rm | Rimuove un percorso sincronizzato |
set | vi | Modifica le opzioni di un percorso esistente |
update | up | Aggiorna i percorsi in base alle informazioni più recenti del server |
flush | reset | Elimina 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>]
| Opzione | Alias | Descrizione | Obbligatoria | Valori possibili | Predefinito |
|---|---|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ | — | — |
--local-path <path> | -l | Percorso locale di un file o una cartella | ✅ | — | — |
--remote-path <path> | -r | Percorso remoto (spaces, personal o shares) | ✅ | — | — |
--name <name> | -n | Nome personalizzato della sincronizzazione | ❌ | — | — |
--mode <mode> | -m | Modalità di sincronizzazione | ✅ | download, upload, both | — |
--ignore-delete | — | Non sincronizza le eliminazioni | ❌ | Flag senza valore | false |
--diff-mode <mode> | -d | Modalità di rilevamento delle differenze | ❌ | fast, secure | fast |
--conflict-mode <mode> | -c | Strategia in caso di conflitto (se --mode both) | ❌ | recent, local, remote | recent |
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>
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ |
--path <path> | -p | ID 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>]
| Opzione | Alias | Descrizione | Obbligatoria | Valori possibili |
|---|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ | — |
--path <path> | -p | ID o nome del percorso sincronizzato | ✅ | — |
--name <name> | -n | Nuovo nome della sincronizzazione | ❌ | — |
--mode <mode> | -m | Modalità di sincronizzazione | ❌ | download, upload, both |
--ignore-delete <boolean> | — | Abilita o disabilita la sincronizzazione delle eliminazioni | ❌ | true, false |
--diff-mode <mode> | -d | Modalità di rilevamento delle differenze | ❌ | fast, secure |
--conflict-mode <mode> | -c | Strategia 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>
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--server <server> | -s | ID 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>
| Opzione | Alias | Descrizione | Obbligatoria |
|---|---|---|---|
--server <server> | -s | ID o nome del server | ✅ |
--path <path> | -p | ID o nome del percorso sincronizzato | ✅ |