Estoy transfiriendo los archivos de Linux a Windows 7 a través de un recurso compartido montado (el recurso compartido está montado desde Windows en Linux). Estoy copiando muchos datos (es decir, casi un TB) de la máquina vieja a la nueva dentro de mi LAN . Ya tengo la mala suerte de tener solo 100 MB. Naturalmente, utilicé ciegamente rsync, pero después de un día ya me preguntaba por qué se siente tan lento. Habilitar el medidor de progreso me mostró una velocidad de transferencia de aproximadamente 2 MB / s.
Así que tomé un archivo grande razonable (800 MB) y rastreé el tiempo de transferencia (1):
cp : 05:33
scp (2): 06:33
rsync : 21:51
1) Eliminé los archivos entre cada ejecución
2) scp a través de localhost a la misma máquina Linux directamente en el recurso compartido; completamente inútil pero proporcionó un medidor de progreso
Las pruebas fueron tan simples como
(cp|scp|rsync) <source> <destination>
No hay argumentos especiales excepto host / puerto para scp. Incluso probé el -W
cambio para rsync pero lo cancelé después de diez minutos. rsync es 3.0.3 ejecutándose en Lenny. Para poder interrumpir el proceso de copia en cualquier momento y reanudar me llevo a rsync, pero ahora creo que realmente necesito reconsiderar este requisito.
¿Cómo es posible una diferencia tan grande?
Actualización / Resuelto:
Gracias a rschuler pude resolver el problema: use el demonio rsync en lugar del montaje smb por razones de eficiencia. Dicho DeltaCopy funciona, pero hay que tener cuidado con algunas cosas
- es un buen contenedor GUI pero si algo va mal, es bueno saber cómo solucionarlo. Parece que ingresé mis credenciales de usuario, bajo las cuales ejecutar el servicio rsync, incorrecta la primera vez, pero la GUI no me permitió establecer una nueva. Me di cuenta de que se estaba ejecutando como un servicio y pude establecer las credenciales adecuadas allí
- Necesario para agregar manualmente el puerto al firewall para permitir conexiones
- Gusto personal: asegúrese de que los recursos compartidos estén protegidos con contraseña o, si no, tal vez asegúrese de que el servicio no se inicie automáticamente con Windows; por si acaso
- El binario rsync envuelto no es un puerto nativo de Windows, sino que se basa en cygwin. Sin embargo, la DLL cygwin contenida no maneja UTF8 correctamente y manipula caracteres no ascii. Obtenga una DLL fija de http://www.okisoft.co.jp/esc/utf8-cygwin/ .
Después de eso, la tasa de transferencia aumentó de 2 MB / sa ~ 8 MB / s; ¡absolutamente fantástico!
-W
se supone que el interruptor debe ignorar eso