Synchronization via Terminal
Use the command-line interface (CLI) of Sync-in to configure and trigger synchronizations between your local files and remote servers. This interface also allows you to manage multiple servers, define custom sync paths, and automate your transfer workflows.
An ideal solution for advanced users, scripting, or environments without a graphical interface.

Use Casesβ
- π§± Work in headless environments, such as remote servers or containers.
- β° Schedule automatic synchronizations using CRON tasks or a system scheduler.
- π Automate your business workflows by integrating the CLI into processing or backup scripts.
- π§ͺ Test syncs in simulation mode, using the
--report
and--debug
options to identify changes without applying them or to troubleshoot. - π Manage multiple servers from a single workstation, centralizing your connections in one tool.
- π οΈ Deploy predefined configurations, for automated installations across multiple machines or environments.
Access Requirementsβ
To use the CLI, the following conditions must be met:
- You must have the desktop access permission enabled.
- You must have the sync permission enabled.
- Node.js 22.x must be installed on the system.
- You must download the CLI binary from your Account or the Downloads page.
Quickstartβ
1. Add a serverβ
./sync-in-cli servers add \
--name <MY_SERVER> \
--url https://<YOUR_DOMAIN> \
--login <YOUR_LOGIN> \
--password <YOUR_PASSWORD>
2. Add a sync pathβ
./sync-in-cli paths add \
--server <MY_SERVER> \
--localPath </local/path/to/files> \
--remotePath <personal|spaces|shares/...> \
--name <SYNC_NAME> \
--mode <both|upload|download> \
--diffMode <fast|secure> \
--conflictMode <recent|local|remote>
3. Launch synchronizationβ
./sync-in-cli run \
--server <MY_SERVER> \
--path <PATH_NAME>
Managementβ
Once the CLI is configured and registered with the server, it has access to your account.
Connection details can be viewed in the Clients menu of your account.
You can revoke CLI access at any time, regardless of the workstation used for configuration.
From the same menu, you can also update the sync configuration of CLI-managed paths.
Changes are applied on the next sync launch.
Securityβ
After a certain period, you may be asked to re-authenticate to securely renew access to your account.
To perform this operation, see the re-authentication command.
Notesβ
Unlike the desktop app, files deleted locally (on the workstation) are not moved to the trash.
Commandsβ
Command | Description |
---|---|
--help | Displays general help |
--version | Shows the CLI version |
run | Triggers syncs (see options below) |
servers | Manages registered servers |
paths | Manages sync paths |
run
Commandβ
run
β Start a synchronizationβ
Manually launches a sync from the command line.
You can sync all configured paths or target specific servers/paths.
If --server
or --path
are not specified, all folders will be selected for synchronization.
Option | Alias | Description | Required |
---|---|---|---|
--report | -r | Read-only mode (dry-run), shows differences without applying them | β |
--debug | -d | Enables detailed logs for debugging | β |
--async | -a | Runs syncs in parallel | β |
--server | -s | ID or name of the server to sync | β |
--path | -p | ID(s) or name(s) of paths to sync (requires --server ) | β |
servers
Commandsβ
Sub-command | Alias | Description |
---|---|---|
list | ls | List all registered servers |
add | mk | Add a new server |
remove | rm | Remove a registered server |
auth | touch | Re-authenticate (refresh access token) |
add
(alias: mk
)β
Adds and registers a remote server for use with the CLI.
Option | Alias | Description | Required |
---|---|---|---|
--name | -n | Custom name for identifying the server | β |
--url | --web | Server URL (e.g., https://your-instance.com ) | β |
--login | -u | User login or email | β |
--password | -p | User password | β |
remove
(alias: rm
)β
Removes a registered server.
Option | Alias | Description | Required |
---|---|---|---|
--server | -s | ID or name of the server | β |
auth
(alias: touch
)β
Refreshes the access token for a registered server.
Option | Alias | Description | Required |
---|---|---|---|
--server | -s | ID or name of the server | β |
--login | -u | User login or email | β |
--password | -p | User password | β |
paths
Commandsβ
Sub-command | Alias | Description |
---|---|---|
list | ls | List sync paths per server |
add | mk | Add a new local/remote sync path |
set | vi | Edit sync options for an existing path |
remove | rm | Remove an existing sync path |
update | up | Refresh paths from the server |
flush | reset | Clear previous snapshots of a sync path |
add
(alias: mk
)β
Adds a new sync path (local/remote).
Option | Alias | Description | Required | Values | Default |
---|---|---|---|---|---|
--server | -s | Server ID or name | β | β | β |
--localPath | -l | Path to local file or folder | β | β | β |
--remotePath | -r | Remote path (spaces , personal , or shares ) | β | β | β |
--name | -n | Custom sync name | β | β | β |
--mode | -m | Sync mode | β | download , upload , both | β |
--diffMode | -d | Difference detection mode | β | fast , secure | fast |
--conflictMode | -c | Conflict resolution strategy (if --mode both ) | β | recent , local , remote | recent |
set
(alias: vi
)β
Modifies sync options for an existing path.
Option | Alias | Description | Required | Values |
---|---|---|---|---|
--server | -s | Server ID or name | β | β |
--path | -p | Path ID or name | β | β |
--name | -n | New sync name | β | β |
--mode | -m | Sync mode | β | download , upload , both |
--diffMode | -d | Difference detection mode | β | fast , secure |
--conflictMode | -c | Conflict resolution strategy (if mode is both) | β | recent , local , remote |
remove
(alias: rm
)β
Deletes an existing sync path.
Option | Alias | Description | Required |
---|---|---|---|
--server | -s | Server ID or name | β |
--path | -p | Path ID or name | β |
update
(alias: up
)β
Refreshes all configured paths on a server.
Option | Alias | Description | Required |
---|---|---|---|
--server | -s | Server ID or name | β |
flush
(alias: reset
)β
Clears the snapshots (previous states) of a path.
Option | Alias | Description | Required |
---|---|---|---|
--server | -s | Server ID or name | β |
--path | -p | Path ID or name | β |