Nexcloud ha recibido una actualización muy bonita, pero de nuevo no es el protagonista. Hoy voy a hablar de Unison, una herramienta de sincronización bilateral similar a Syncthing. XD
Introducción
De esta herramienta se habla menos que de syncthing, de hecho, la encontré de casualidad mientras buscaba tutoriales de rsync para sincronización bidireccional. La verdad, es sorprendentemente sencilla para lo poderosa que es, pero tiene sus cosas pues, en el modo interactivo, no hay instrucciones muy claras para entender que esta pasando con tus datos. Así que una advertencia. Entiende primero esta herramienta con datos seguros antes de arriesgarte con tus datos importantes. Vamos, como con cualquier herramienta de sincronización bidireccional.
Unison es una herramienta de sincronización de archivos bidireccional que permite mantener directorios idénticos en dos ubicaciones. A diferencia de rsync
, Unison detecta cambios en ambos lados y los aplica de forma inteligente.
¿Como funciona unison?
- Compara dos directorios (locales o remotos) y detecta diferencias.
- Sincroniza archivos modificados, nuevos o eliminados en ambas direcciones.
- Usa un archivo de estado para recordar qué ha cambiado desde la última sincronización.
- Puede ejecutarse manualmente o programarse con cron.
Comparativa: Unison vs Syncthing
Característica | Unison | Syncthing |
🔄 Tipo de sincronización | Línea de comandos / GUI básica | Interfaz web moderna (mas o menos, interfaz jquery con jquery UI) |
🖥️ Interfaz | Bidireccional manual | Bidireccional automática en tiempo real |
🌐 Conectividad | SSH, requiere configuración manual | P2P automático, sin configuración de red |
⚙️ Configuración inicial | Más técnica, requiere definir perfiles | Muy sencilla, ideal para principiantes |
📦 Compatibilidad | Linux, macOS, Windows (limitado) | Linux, macOS, Windows, Android, iOS |
🧠 Resolución de conflictos | Automática por fecha de modificación | Manual, con historial de versiones |
📡 Sincronización en tiempo real | No, requiere ejecución periódica | Sí, detecta cambios al instante |
🔐 Seguridad | Depende de SSH | Cifrado TLS entre nodos |
Ventajas de Unison
- Precisión en la sincronización bidireccional.
- Ideal para entornos Unix y servidores.
- Compatible con SSH para conexiones seguras.
- Menor consumo de recursos que Syncthing.
Desventajas de Unison
- No sincroniza en tiempo real.
- Requiere configuración técnica.
- Menos amigable para usuarios no técnicos.
- No tan multiplataforma como Syncthing.
Instalación
Tampoco hay tanta magia, esta disponible en casi todos los repos, así que pongo por ejemplo como se hace en Debian y derivados.
sudo apt update
apt install unison
Ejemplos de uso
1. Sincronizar dos carpetas locales
unison /home/usuario/docs /media/backup/docs
2. Sincronizar con un servidor remoto vía SSH
unison /home/usuario/docs ssh://usuario@192.168.1.100//home/usuario/docs
3. Usar un perfil de configuración
Crea un archivo en ~/.unison/docs.prf
:
root = /home/usuario/docs
root = ssh://usuario@192.168.1.100//home/usuario/docs
auto = true
batch = true
Y ejecuta:
unison docs
4. Permisos
Unison esta hecho mas que nada para usarse en la linea de comandos, así que probablemente también lo uses entre carpetas con diferentes permisos y propietarios. Para poder conservarlos, usa este comando:
unison /home/usuario/docs /media/backup/docs -perm 0
Información adicional
Hay un extenso tutorial en esta pagina, está en ingles, pero no tienes que preocuparte demasiado pues lo que hemos abarcado aquí es suficiente para lo básico. Ademas hay un paquetete GTK GUI que te puede guiar mas fácilmente que un largo tutorial.
Y por ultimo, este otro tutorial que explica también las combinaciones de teclas del modo interactivo de la consola, que fue lo que mas me confundió la primera vez que lo utilicé.
Conclusiones
Syncthing es una herramienta semiautomática que permite trabajar con una interfaz web sencilla, pero Unison te permite trabajar de forma puntual con la linea de comandos. Puede que no sirva para controlar los cambios en tiempo real, pero si no es lo que necesitas, puedes ahorrarte tener un proceso corriendo en el fondo y ocupando los recursos de tus dispositivos.