Sincronización mediante la línea de comandos
Utilice la interfaz de línea de comandos (CLI) de Sync-in para configurar y activar sincronizaciones entre sus archivos locales y servidores remotos. Esta interfaz también le permite administrar múltiples servidores, definir rutas de sincronización personalizadas y automatizar sus flujos de trabajo de transferencia.
Es ideal para usuarios avanzados, la automatización mediante scripts y los entornos sin interfaz gráfica.
Casos de uso
- Trabajar en entornos sin interfaz gráfica, como servidores o contenedores remotos.
- Programar sincronizaciones automáticas mediante tareas CRON o un programador del sistema.
- Automatizar los flujos de trabajo de su organización integrando la CLI en scripts de procesamiento o copia de seguridad.
- Probar sincronizaciones en modo simulación, usando las opciones
--reporty--debugpara identificar cambios sin aplicarlos o solucionar problemas. - Administrar varios servidores, centralizando las conexiones en una única herramienta.
- Implementar configuraciones predefinidas, para instalaciones automatizadas en múltiples máquinas o entornos.
Requisitos de acceso
Para utilizar la CLI, se deben cumplir las siguientes condiciones:
- Disponer del permiso de acceso desde la aplicación de escritorio.
- Disponer del permiso de sincronización desde la aplicación de escritorio.
- Haber descargado el binario de la CLI desde su Cuenta o desde la página de Descarga.
La CLI requiere Node.js 22.12.0 o posterior. Compruebe la versión instalada antes de ejecutar la CLI:
node --version
Inicio rápido
1. Agregar un servidor
./sync-in-cli servers add \
--name <MI_SERVIDOR> \
--url https://<SU_DOMINIO> \
--login <SU_IDENTIFICADOR> \
--password <SU_CONTRASEÑA>
Si la autenticación de dos factores está habilitada, puede proporcionar el código TOTP o un código de recuperación usando la opción --code.
Puede utilizar una contraseña de aplicación para completar el registro, por ejemplo, cuando solo se permite la autenticación OpenID Connect.
2. Agregar una ruta de sincronización
./sync-in-cli paths add \
--server <MI_SERVIDOR> \
--local-path </ruta/local/a/los/archivos> \
--remote-path <personal|spaces|shares/...> \
--name <NOMBRE_RUTA> \
--mode <both|upload|download> \
--diff-mode <fast|secure> \
--conflict-mode <recent|local|remote>
3. Iniciar la sincronización
./sync-in-cli run \
--server <MI_SERVIDOR> \
--path <NOMBRE_RUTA>
Actualización de la CLI
Verifique la versión instalada:
./sync-in-cli --version
Para actualizar a la última versión estable:
./sync-in-cli --update
La CLI descarga la última versión estable de GitHub y se reemplaza en la misma ubicación, conservando sus permisos. Si la versión instalada ya está actualizada o es más nueva, no se realiza ningún reemplazo.
Ejecute --update solo, sin otro comando ni número de versión. Su usuario debe tener acceso de escritura al directorio que contiene la CLI.
Gestión
Una vez que la CLI está configurada y registrada con el servidor, tiene acceso a su cuenta.
Los detalles de conexión se pueden ver en el menú Clientes de su cuenta.
Puede revocar el acceso a la CLI en cualquier momento, independientemente del equipo utilizado para la configuración.
Desde el mismo menú, también puede actualizar la configuración de sincronización de las rutas administradas por CLI.
Los cambios se aplicarán la próxima vez que se inicie una sincronización.
Seguridad
Después de un cierto período, es posible que se le solicite volver a autenticarse para renovar de forma segura el acceso a su cuenta.
Para realizar esta operación, consulte el comando de reautenticación.
Notas
A diferencia de la aplicación de escritorio, los archivos eliminados localmente (en el equipo) no se mueven a la papelera.
Comandos
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 ayuda integrada siempre coincide con la versión de la CLI instalada. Ejecute ./sync-in-cli --help para obtener la lista de comandos o ./sync-in-cli <comando> --help para obtener ayuda contextual, por ejemplo:
./sync-in-cli paths add --help
Opciones globales
./sync-in-cli [options]
| Opción | Descripción |
|---|---|
-h, --help | Muestra ayuda general |
-v, --version | Muestra la versión CLI |
--update | Actualiza la CLI a la última versión estable |
Comando run
Inicia manualmente una sincronización. Puede sincronizar todas las rutas configuradas o seleccionar un servidor y una o varias de sus rutas.
./sync-in-cli run [--report] [--debug] [--async] [--server <server>] [--path <paths...>]
Sin --server, se consideran todos los servidores configurados. Sin --path, todas las rutas habilitadas en los servidores de destino se sincronizan. Cuando se utiliza --path sin --server, la CLI busca las rutas especificadas en cada servidor configurado. Pase varios ID o nombres de ruta después de una única opción --path o repita la opción.
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--report | -r | Modo de solo lectura (dry-run), muestra diferencias sin aplicarlas | ❌ |
--debug | -d | Habilita registros detallados para la depuración | ❌ |
--async | -a | Ejecuta sincronizaciones en paralelo | ❌ |
--server <server> | -s | ID o nombre del servidor que se sincronizará | ❌ |
--path <paths...> | -p | Uno o varios ID o nombres de ruta, separados por espacios | ❌ |
--report, --debug y --async son opciones booleanas y no aceptan ningún valor.
Comandos servers
| Subcomando | Alias | Descripción |
|---|---|---|
list | ls | Listar todos los servidores registrados |
add | mk | Agregar un nuevo servidor |
auth | touch | Volver a autenticar (actualizar token de acceso) |
remove | rm | Eliminar un servidor registrado |
Enumere los servidores registrados con ./sync-in-cli servers list (o ./sync-in-cli servers ls).
servers add (alias: servers mk)
Agrega y registra un servidor remoto para usarlo con la CLI.
./sync-in-cli servers add --name <name> --url <url> --login <login> --password <password> [--code <code>] [--allow-invalid-certificate]
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--name <name> | -n | Nombre personalizado para identificar el servidor | ✅ |
--url <url> | -w | URL del servidor (por ejemplo, https://my.sync-in.com) | ✅ |
--login <login> | -u | Identificador de usuario o dirección de correo electrónico | ✅ |
--password <password> | -p | Contraseña de usuario | ✅ |
--code <code> | -c | Código de autenticación de dos factores (2FA) o código de recuperación | ❌ |
--allow-invalid-certificate | — | Permite un certificado TLS no reconocido | ❌ |
--allow-invalid-certificate es una opción booleana sin valor. Utilícela únicamente si confía en el servidor y en su certificado.
servers auth (alias: servers touch)
Vuelve a autenticar un servidor registrado y actualiza su token de acceso.
./sync-in-cli servers auth --server <server> --login <login> --password <password> [--code <code>]
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ |
--login <login> | -u | Identificador de usuario o dirección de correo electrónico | ✅ |
--password <password> | -p | Contraseña de usuario | ✅ |
--code <code> | -c | Código de autenticación de dos factores (2FA) o código de recuperación | ❌ |
servers remove (alias: servers rm)
Elimina un servidor registrado.
./sync-in-cli servers remove --server <server>
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ |
Comandos paths
| Subcomando | Alias | Descripción |
|---|---|---|
list | ls | Listar todas las rutas de sincronización configuradas |
add | mk | Agregar una nueva ruta de sincronización local/remota |
remove | rm | Eliminar una ruta de sincronización existente |
set | vi | Editar opciones de sincronización para una ruta existente |
update | up | Actualizar rutas desde el servidor |
flush | reset | Borrar instantáneas anteriores de una ruta de sincronización |
Enumere todas las rutas configuradas con ./sync-in-cli paths list (o ./sync-in-cli paths ls).
paths add (alias: paths mk)
Agrega una nueva ruta de sincronización (local/remota).
./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>]
| Opción | Alias | Descripción | Requerido | Valores posibles | Predeterminado |
|---|---|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ | — | — |
--local-path <path> | -l | Ruta local a un archivo o una carpeta | ✅ | — | — |
--remote-path <path> | -r | Ruta remota (spaces, personal o shares) | ✅ | — | — |
--name <name> | -n | Nombre personalizado para la sincronización | ❌ | — | — |
--mode <mode> | -m | Modo de sincronización | ✅ | download, upload, both | — |
--ignore-delete | — | No sincroniza las eliminaciones | ❌ | Opción booleana sin valor | false |
--diff-mode <mode> | -d | Modo de detección de diferencias | ❌ | fast, secure | fast |
--conflict-mode <mode> | -c | Estrategia de resolución de conflictos (si --mode both) | ❌ | recent, local, remote | recent |
La ruta remota debe comenzar por personal, spaces o shares. --ignore-delete es una opción booleana sin valor.
paths remove (alias: paths rm)
Elimina una ruta de sincronización existente.
./sync-in-cli paths remove --server <server> --path <path>
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ |
--path <path> | -p | ID o nombre de la ruta sincronizada | ✅ |
paths set (alias: paths vi)
Modifica las opciones de sincronización para una ruta existente.
./sync-in-cli paths set \
--server <server> \
--path <path> \
[--name <name>] \
[--mode <mode>] \
[--ignore-delete <boolean>] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
| Opción | Alias | Descripción | Requerido | Valores posibles |
|---|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ | — |
--path <path> | -p | ID o nombre de la ruta sincronizada | ✅ | — |
--name <name> | -n | Nuevo nombre de sincronización | ❌ | — |
--mode <mode> | -m | Modo de sincronización | ❌ | download, upload, both |
--ignore-delete <boolean> | — | Activa o desactiva la sincronización de las eliminaciones | ❌ | true, false |
--diff-mode <mode> | -d | Modo de detección de diferencias | ❌ | fast, secure |
--conflict-mode <mode> | -c | Estrategia de resolución de conflictos (si --mode both) | ❌ | recent, local, remote |
Para paths set, pase el valor en minúscula true o false explícitamente después de --ignore-delete. Consulte Ignorar eliminaciones para conocer su comportamiento en cada dirección de sincronización.
paths update (alias: paths up)
Actualiza todas las rutas sincronizadas de un servidor a partir de la información más reciente del servidor.
./sync-in-cli paths update --server <server>
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ |
paths flush (alias: paths reset)
Borra las instantáneas (estados anteriores) de una ruta.
./sync-in-cli paths flush --server <server> --path <path>
| Opción | Alias | Descripción | Requerido |
|---|---|---|---|
--server <server> | -s | ID o nombre del servidor | ✅ |
--path <path> | -p | ID o nombre de la ruta sincronizada | ✅ |