Sincronización de directorios en ambas direcciones con rsync

25

Sé que conozco a rsyn, y uso rsync para sincronizar entre mi mac y un servidor Linux de la siguiente manera.

rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC

Esperaba ejecutar el primer comando para sincronizar, pero también necesitaba el segundo comando cuando se realiza un cambio en LINUX.

¿Me estoy perdiendo de algo? ¿Tiene rsync una opción para sincronizar entre dos directorios?

prosseek
fuente

Respuestas:

20

Desea sincronización bidireccional. Eche un vistazo al unísono, que hace esto: http://www.cis.upenn.edu/~bcpierce/unison/

Por ejemplo, en Debian / Ubuntu:

$ sudo apt-get install unison
$ unison MAC/ LINUX/

Si tiene problemas con los permisos (ejemplo ext4 -> FAT):

$ unison -perms 0 vlc-2.2.0/ /media/sf_vlc/vlc
Contacting server...
Looking for changes
Reconciling changes

vlc-2.2.0      vlc                
new dir  ---->            /  [f] 

Proceed with propagating updates? [] y
Propagating updates
jmtd
fuente
12

En realidad, rsync no se recomienda para la sincronización bidireccional (por sus desarrolladores). La utilidad de unísono ya recomendada será una mejor solución para usted.

También tenga en cuenta que probablemente tenga que lidiar con muchas cosas específicas de HFS + de Mac cuando use rsync. Así que asegúrese de usar un rsync3 con el parche adecuado en la Mac o espere problemas con las fechas de modificación (cuando usa el Mac OS X proporcionado rsync 2.6.9.) Si no sabe cómo construir un rsync 3 con el parche adecuado para la Mac, obtener mlbackup que incluye solo eso. (Divulgación completa: soy el autor de mlbackup). Consíguelo en github y asegúrese de descargar el paquete completo de las descargas. (El repositorio de mlbackup no incluye rsync 3 que desea en este caso). Http://github.com/MacLemon/mlbackup

MacLemon
fuente
55
Un enlace a la no recomendación de los desarrolladores de rsync sería bueno.
Comodín el
@Wildcard no es de los desarrolladores, pero esto es relevante.
Ploni
4

También debe echar un vistazo a csync , que es de código abierto y ofrece sincronización bidireccional nativa.

Para su información, que yo sepa, csync es desarrollado por personas del equipo de Samba. Y sabiendo que el equipo de Samba también desarrolló rsync, tomo esto como una muestra de calidad.

máxima
fuente
2

Otra herramienta excelente para la sincronización bidireccional ..... freefilesync

rsjethani
fuente
44
en Stack Exchange, preferimos respuestas que sean más que solo enlaces. sería genial si pudieras ampliar un poco lo que es esto (¿qué lo hace diferente unison?)
strugee