Corrí sudo rsync -va --progress
desde la raíz de una unidad externa a una carpeta en otra unidad externa. La razón es que la unidad fuente tiene un NTFS con error y no tengo acceso a una PC con Windows para reparar el NTFS.
10 horas después dijo:
sent 608725204596 bytes received 19365712 bytes 15902210.53 bytes/sec
total size is 608586212274 speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]
Guardé toda la salida del terminal. Al principio, hay unos cientos Input/output error (5)
de archivos que en realidad no necesito por un total de aproximadamente 2 GB. OSX Finder "uso de disco" me dice que la fuente es de 617 mil millones de bytes, no 608 como en el informe anterior.
Preguntas:
- ¿La primera parte de la salida detallada (construir una lista de archivos) definitivamente dice
Input/output error (5)
CADA archivo que no se copiará? - ¿
code 23
Significa que todos los archivos, excepto losInput/output error (5)
que fueron copiados con éxito?
grep '^rsync: ' output
pueden ser útiles.Respuestas:
23
solo significa (de la página del manual):Por todo lo que no se pudo transferir, recibirá un mensaje de error. Tenga en cuenta que los mensajes de error pueden ser sobre abrir o leer directorios, por lo que no verá necesariamente un mensaje de error para cada archivo que no se pudo transferir.
Si su fuente no ha cambiado, puede ejecutar
rsync
nuevamente-n
para ver qué transferiría esta vez sin hacer realmente la transferencia.Acerca de la diferencia de bytes,
rsync
le da el tamaño de los archivos (cuántos datos se pueden leer de ellos). ¿Estás seguro deFinder
que no te dice el uso del disco ?También tenga en cuenta que NTFS puede almacenar datos en secuencias o atributos alternativos de los archivos y, por
rsync
lo general, no transferirá (no tiene conocimiento de ellos) (y eso también puede representar mucho).fuente
Input/output error (5)
?Input/output error (5)
. ¿Puedes explicar?echo > file; du -k file
ver cuánto en el sistema de archivos de origen, pero en ntfs, generalmente es 4k).rsync
le dirá que el tamaño es1
, pero Finder podría decirle 4096 para ese archivo./foo/bar
y/foo/bar/baz
tampoco habrá sido transferido.Puede silenciar la salida sin errores de rsync utilizando el
-q
indicador de rsync .Si vuelve a ejecutar rsync con el
-q
indicador, es probable que rsync siga fallando, pero al menos esta vez los mensajes de error que causen su problema no quedarán ocultos bajo líneas y líneas de mensajes de estado de transferencia de archivos.fuente
Re: error 23-- La razón más común para tener este error es hacer que un error menor ingrese en la fuente rsync. Mire por encima de su comando de origen y asegúrese de que todo se comprueba contra ls, y busque cosas estúpidas y sutiles como un espacio extra o un problema de 1 l.
fuente