Rsync no copia algunos archivos con atributos extendidos

3

Estoy intentando sincronizar rsync desde un volumen montado en red a mi escritorio. Sin embargo, algunos, pero no todos, los archivos no se están copiando debido a un error rsync. Estoy usando rsync 3.1.1 de Brew. Estoy usando este comando:

rsync -aXv  /Volumes/Scotts\ Stuff/Backgrounds ~/Desktop/Temp

Sin embargo, recibo este error para algunos de los archivos:

get_xattr_data: lgetxattr(""/Volumes/Scotts Stuff/Backgrounds/chalkboard-black.jpg"","com.apple.ResourceFork",88644) returned 65536

¿Alguna idea? Algunos archivos con atributos extendidos se copian bien pero algunos reciben el error. Si omito la opción "X", rsync funciona pero, por supuesto, los atributos extendidos no se conservan.

    
pregunta Scott Walter 02.05.2015 - 03:43

1 respuesta

2

El problema que reproduje 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 creadas con Macports (3.x) se resuelve con la versión 3.1.2.

MacOS X rsync 2.6.9 estándar → error

••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••%

rsync 3.1.2 incorporado → é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:

  • la opción -E cambió a -AX (ACL y atributos extendidos)
  • el uso de --fake-super para poder copiar archivos dentro de solo lectura directorios

Cómo usarlo en diferentes Mac

Si desea realizar un rsync en un Mac remoto, deberá llamar explícitamente al rsync construido en el Mac remoto con la opción --rsync-command :

/opt/local/bin/rsync -avAX --fake-super --rsync-command=/opt/local/bin/rsync example remote_MAC:/tmp/example2 
    
respondido por el daniel Azuelos 20.07.2016 - 08:52

Lea otras preguntas en las etiquetas