rsync tarda mucho en enviar la lista de archivos

14

Estoy tratando de usar rsync para hacer una copia de seguridad de algunos archivos de un disco duro interno en una unidad usb. (Estoy trabajando en un wd mybook world NAS)

Hay dos carpetas que quiero respaldar. Una carpeta de música y una carpeta de video. La carpeta de música (864 archivos, alrededor de 10 gb) funcionó perfectamente en aproximadamente 1 hora (para el progreso completo).

Pero la carpeta de video (1025 archivos, alrededor de 700 gb) todavía está "enviando una lista de archivos incremental" por ahora 8 horas. No creo que se haya transferido nada. ¿Qué podría causar tal diferencia? La carpeta de video no tiene muchos más archivos en ella. Sí, es mucho más grande, pero eso no debería hacer una diferencia en la generación de la lista de archivos, creo.

Estoy usando este comando rsync:

/shares/extern # rsync -avPc --stats /shares/Public/Shared\ Videos /shares/extern/

Ahora, como estoy trabajando en un NAS, no tengo tanta potencia de la CPU, pero creo que es demasiado tiempo.

¿Qué crees que es normal este comportamiento? ¿Hay alguna sugerencia de lo que puedo hacer para acelerar todo un poco?

Estoy usando rsync 3.0.2

Graslandpinguin
fuente
2
Por favor no ponga respuestas en el cuerpo de la pregunta. Puede agregar una respuesta propia si no hay respuestas actuales correctas o comentar las respuestas de otras personas si tiene algo que agregar. ¡Gracias!
Caleb

Respuestas:

25

La -copción obliga a rsync a calcular una suma de verificación para todos los archivos. Esto significa que está leyendo el contenido de todos los archivos de video antes de que comience a decidir cuáles copiar. Eso es obviamente lento.

Considere eliminar esa opción si es posible. Solo lo necesitas en casos raros. Consulte la descripción en la página del manual para obtener más detalles:

Tenga en cuenta que rsync siempre verifica que cada archivo transferido se haya reconstruido correctamente en el lado receptor al verificar una suma de verificación de todo el archivo que se genera a medida que se transfiere el archivo, pero esa verificación automática después de la transferencia no tiene nada que ver con esta opción antes: the-transfer "¿Es necesario actualizar este archivo?" cheque.

chasquido
fuente
Oh, gracias por la pista. después de leer la página de manual, puedo decir que he entendido mal la opción -c. Pensé que verificaba después de copiar con una suma de verificación. ¡Gracias por la ayuda!
Graslandpinguin
@CaptnLenz, feliz de ayudar. Considere hacer clic en la marca del lado izquierdo de mi respuesta para aceptar mi solución.
snap
Tuve este problema porque pasé '-archive' en lugar de '--archive' al comando rsync. rsync considera que '-archive' es una variante de -c.
Leons
44
Solo para expandir el comentario de @Leons, -archive se ve como -a -r -c -h -i -v -e, todos los modificadores válidos. Pequeño y complicado error.
Mark C
Espere, ¿cuál es la diferencia entre verificar la suma de verificación versus verificar el tamaño del archivo / fecha de modificación? ¿Verificación de la suma de verificación realmente toma mucho más tiempo que verificar solo el tamaño del archivo / fecha de modificación? ¿Rsync guarda sumas de verificación después de la primera ejecución o las calcula todas desde cero en cada ejecución?
Ken