Usar rsync para sincronizar carpetas sin sobrescribir archivos del mismo nombre en Mac OS X

Usar rsync para sincronizar carpetas sin sobrescribir archivos del mismo nombre en Mac OS X

Me gustaría sincronizar el contenido de dos directorios.

  • Sin sobrescribir pero para crear una copia si dos archivos tienen el mismo nombre, pero diferentes tamaños
  • Sin duplicar si dos archivos tienen el mismo nombre y tamaño.
  • Para trabajar recursivamente

Hasta ahora he encontrado el siguiente comando que podría funcionar

 $ rsync -varE --progress ~/folder /volumes/server/folder

Pero no estoy del todo seguro de qué -Ehace la bandera. Fue sugerido por un usuario en bananica.com pero no pudo ver una descripción en el manual. ¿Esto haría lo que necesito con éxito?

Respuesta1

-E en realidad conserva los atributos extendidos en OS X, pero -a (--archive) implica -p (--perms) que implica --ejecutabilidad.

-b (--backup) agrega una tilde al final de los archivos que normalmente se sobrescribirían:

rsync -ab ~/folder /Volumes/server/

-b --suffix _oldcambiaría el nombre de file.txt a file.txt_old

rsync compara tanto el tamaño de los archivos como los tiempos de modificación de forma predeterminada. --size-only solo compara tamaños. -c compara sumas de verificación, pero es más lento.

información relacionada