Rsync non copia alcuni file con attributi estesi

3

Sto tentando di rsync da un volume montato in rete sul mio desktop. Tuttavia alcuni ma non tutti i file non stanno copiando a causa di un errore rsync. Sto usando rsync 3.1.1 da Brew. Sto usando questo comando:

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

Tuttavia, ho ricevuto questo errore per alcuni file:

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

Qualche idea? Alcuni file con attributi estesi vengono copiati correttamente ma alcuni ricevono l'errore. Se lascio l'opzione "X", allora rsync funziona, ma ovviamente gli attributi estesi non vengono conservati.

    
posta Scott Walter 02.05.2015 - 03:43
fonte

1 risposta

2

Il problema che ho riprodotto su molte versioni di MacOS X (Mountain Lion, Mavericks, Yosemite, El Capitan) che usano una versione troppo vecchia di rsync (2.6.9) e con le versioni più recenti create con Macports (3.x) è risolto con la versione 3.1.2.

MacOS X rsync standard 2.6.9 → errore

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

Creato rsync 3.1.2 → successo

••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 dettagli chiave da notare:

  • l'opzione -E è cambiata in -AX (ACL e attributi estesi)
  • l'uso di --fake-super per poter copiare il file solo in sola lettura directory

Come usarlo su diversi Mac

Se vuoi eseguire un rsync su un Mac remoto, dovrai chiamare esplicitamente rsync sul Mac remoto con l'opzione --rsync-command :

/opt/local/bin/rsync -avAX --fake-super --rsync-command=/opt/local/bin/rsync example remote_MAC:/tmp/example2 
    
risposta data 20.07.2016 - 08:52
fonte

Leggi altre domande sui tag