
Tengo dos máquinas Ubuntu, una computadora portátil y una de escritorio. Lo que deseo hacer es crear una carpeta en ambas máquinas en las rutas 'ruta1' y 'ruta2'. Quiero configurar la sincronización entre las dos carpetas siempre que estén conectadas a la misma red de área local (Escritorio a través de Ethernet y Computadora portátil a través de WLAN). Entonces, por ejemplo, si creo un archivo ruta1/x, también aparecerá en ruta2 como ruta2/x.
¿Hay alguna manera de hacer esto? [Está bien si la sincronización de eliminación no funciona y tengo que eliminar manualmente un archivo de ambos directorios simultáneamente]
Respuesta1
[Respondiendo a mi propia pregunta ya que encontré una buena manera de hacer esto]
Utilice unison
la herramienta desarrollada por Benjamin Pierce en U Penn.
Supongamos que tiene dos directorios,
/home/user/Documents/dirA/
y/home/user/Documents/dirB/
Para sincronizar estos dos, puede utilizar:
~$unison -ui text /home/user/Documents/dirA/ /home/user/Documents/dirB/
En la salida, unison
se mostrarán todos y cada uno de los directorios y archivos que estándiferenteen los dos directorios que ha solicitado sincronizar. Recomendará sincronizar de forma aditiva (replicar el archivo faltante en ambas ubicaciones) en la ejecución inicial, luego crear y mantener un árbol de sincronización en su máquina y, en ejecuciones posteriores, implementará una sincronización verdadera (es decir, si elimina un archivo de .../dirA
, También se eliminará .../dirB
. También puede comparar todos y cada uno de los cambios y, opcionalmente, elegir hacerlo.adelanteocontrarrestarsincronizar entre los dos directorios.
Opcionalmente, para iniciar la interfaz gráfica, simplemente elimina la -ui text
opción de tu comando, aunque me parece cli
más sencillo y rápido de usar.
Más sobre esto:Documentación al unísono en GitHub.
Respuesta2
Mira este tutorial encómo sincronizar carpetas usando rsync.
Salud