El problema lo he reproducido en muchas versiones de MacOS X (Mountain Lion, Mavericks, Yosemite, El Capitan) que utilizan una versión demasiado antigua de rsync
(2.6.9) y con versiones más recientes construidas con Macports (3.x) se soluciona con la versión 3.1.2.
Fallo estándar de rsync 2.6.9 de MacOS X
••On_my_Mac••% /usr/bin/rsync -avE example example2
building file list ... done
._example
example/color-profile-1
example/._color-profile-1
example/index.xml.gz
example/Contents/
rsync: recv_generator: mkdir "/Users/Shared/tmp/example2/example/Contents" failed: Permission denied (13)
*** Skipping everything below this failed directory ***
example/QuickLook/
rsync: recv_generator: mkdir "/Users/Shared/tmp/example2/example/QuickLook" failed: Permission denied (13)
*** Skipping everything below this failed directory ***
rsync: mkstemp "/Users/Shared/tmp/example2/example/.color-profile-1.zFdjjF" failed: Permission denied (13)
rsync: mkstemp "/Users/Shared/tmp/example2/example/.._color-profile-1.ySmazZ" failed: Permission denied (13)
rsync: mkstemp "/Users/Shared/tmp/example2/example/.index.xml.gz.zB0WUl" failed: Permission denied (13)
copyfile(/dev/null, example/Contents, COPYFILE_METADATA) failed:2
copyfile(/dev/null, example/QuickLook, COPYFILE_METADATA) failed:13
sent 157793 bytes received 120 bytes 315826.00 bytes/sec
total size is 461293 speedup is 2.92
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992) [sender=2.6.9]
••On_my_Mac••%
Construido rsync 3.1.2 éxito
••On_my_Mac••% type rsync
rsync is /opt/local/bin/rsync
••On_my_Mac••% rsync --version
rsync version 3.1.2 protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags,
HFS-compression
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
••On_my_Mac••%
••On_my_Mac••% /usr/bin/sudo rm -rf example2
••On_my_Mac••% /opt/local/bin/rsync -avAX --fake-super example example2
sending incremental file list
created directory example2
example/
example/color-profile-1
example/index.xml.gz
example/Contents/
example/Contents/PkgInfo
example/QuickLook/
example/QuickLook/Preview.pdf
example/QuickLook/Thumbnail.jpg
sent 462,152 bytes received 167 bytes 924,638.00 bytes/sec
total size is 461,293 speedup is 1.00
••On_my_Mac••%
2 detalles clave a tener en cuenta:
- el
-E
opción cambiada a -AX
(ACL y atributos ampliados)
- el uso de
--fake-super
para poder copiar archivos dentro de directorios de sólo lectura directorios
Cómo utilizarlo en diferentes Macs
Si quieres hacer un rsync en un Mac remoto, tendrás que llamar explícitamente al programa rsync
en el Mac remoto con el --rsync-command
opción:
/opt/local/bin/rsync -avAX --fake-super --rsync-command=/opt/local/bin/rsync example remote_MAC:/tmp/example2
0 votos
¿Qué más hay de diferente en esos archivos? ¿Sólo el .jpg o los otros?
2 votos
Dos sugerencias. En primer lugar, intente leer los atributos extendidos con otro comando sólo para asegurarse de que funcionan bien fuera
rsync
por ejemplols -al@ "/Volumes/Scotts Stuff/Backgrounds/chalkboard-black.jpg"
debería imprimir los nombres y valores de los atributos de ese archivo. ¿Devuelve el nombre del atributo(s) bien? En segundo lugar, puedes ejecutar rsync con múltiples parámetros verbose "v" para que te dé más detalles sobre el error, asírsync -aXvvv /Volumes/Scotts\ Stuff/Backgrounds ~/Desktop/Temp
. Eso podría ayudarte a identificar el origen del problema.0 votos
He probado el comando ls -al@ que imprime los nombres y tamaños de los atributos extendidos. La mayoría de los atributos extendidos tienen menos de 300 bytes de longitud, excepto com.apple.ResourceFork que tiene más de 87k. Los archivos que se copiaron con rsync también tienen com.apple.ResourceFork pero son como sólo 2 bytes. No sé si el tamaño del fork de recursos es parte del problema.
0 votos
Un punto que no mencioné originalmente es que el volumen de red en cuestión es un volumen del NAS de Synology. No sé si el hecho de ser un montaje SMB tiene algo que ver.