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é -E
hace 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 _old
cambiarí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.