13 votos

Windows rsync que admite nombres largos de archivo, o una buena alternativa?

Yo actualmente rsync en un host Linux para copiar cosas de Windows a mi Linux. Pero no puedo copiar archivos con nombres largos.

He intentado DeltaCopy, cwrsync, y cygwin. De lo que he encontrado todas estas herramientas se niegan a copiar los archivos cuando la longitud del archivo se hace muy larga, esto parece ser de alrededor de 255 caracteres.

Esta cuestión se aborda en el cwrsync foros de aquí y que supuestamente puede ser fija en algún momento en el futuro, siempre cygwin 1.7 sale y UTF8 es compatible. Hay incluso una prueba de construir aquí.

Yo no soy particularmente cómodo utilizando el test de construir en un sistema de producción. Estoy esperando que alguien sabe de otro rsync opción.

Como una alternativa a rsync ¿sabe usted de otra herramienta que puedo copiar una estructura de directorios en Linux desde un host de windows que no tendrá problemas con la larga o inusualmente nombre de los archivos? Lo más importante es que necesito una herramienta que se puede trabajar a través de un túnel SSH. Algunos de los sistemas que están más allá de los firewalls, y creo que SSH es el túnel que me será permitido el uso de.

23voto

redblacktree Puntos 91

http://lists.samba.org/archive/rsync/2009-March/022955.html

http://www.okisoft.co.jp/esc/utf8-cygwin/ Tiene un UTF8 capa, la cual tiene un efecto secundario de aumento de la posible ruta de tamaño. Según su autor, si desea usar más caracteres que la constante en el parche. Que parece aún más hackish.

Quizás no sea la mejor apuesta para el control remoto de la sincronización, pero es un windows rsync que pretende compatible con nombres de archivo más largos.

8voto

Le sugiero que trate de Unison http://www.cis.upenn.edu/~bcpierce/unison/

Es una alternativa muy interesante para rsync porque puede también proporciona bi-direccional de sincronización (que rsync no es capaz de hacer). Ya he utilizado con éxito en 2 máquinas virtuales y estaba muy contento con los resultados.

Pero en lo que a largo nombre de archivo de que se trate no sé si funciona como se desea.

Desde la web oficial :

Unison es un archivo de la herramienta de sincronización de para Unix y Windows. Se permite que dos réplicas de una colección de archivos y los directorios se almacenan en diferentes hosts (o discos diferentes en el mismo host), modificado por separado y, a continuación, llevado hasta la fecha mediante la propagación de la los cambios en cada réplica a la otra.

6voto

Diago Puntos 1421

Me puede faltar el momento, pero han considerado que el uso de Robocopy en Windows. Es similar a RSync sin embargo no se puede programar desde la aplicación directamente.

Esto se puede superar mediante la escritura de un archivo por lotes para la copia y, a continuación, crear una Tarea Programada. Robocopy es libre y extremadamente robusto. Yo a menudo se usa para copiar archivos entre Linux y Windows mediante Samba y la red, y la posibilidad de reanudar de Robocopy es realmente poderoso.

5voto

John Rennie Puntos 6821

Aha! Usted puede utilizar subst con rsync.

Si usted tiene una profunda árbol de directorios d:\very\long\file\n\ame\etc\etc luego experimento revela que puede subst X: d:\very\long\file\name\etc y, a continuación, rsync y de /cygdrive/x/lo que sea. Esto funciona tanto en el cliente y en el servidor final.

Ahora bien, mientras que usted puede utilizar estratégico substs para reducir la longitud de los nombres de archivo no sé si esto le permite superar los 260 límite de caracteres. También puede no ser muy conveniente. Vale la pena intentar, aunque.

John Rennie.

----8<----

Ver http://www.ratsauce.co.uk/notablog/LongFilenames.asp para mis divagaciones sobre los nombres de archivo largos.

No sé de ninguna forma para obtener la \\?\ prefijo para Cygwin, y, obviamente, la actual versión de Cygwin no utilizar el prefijo internamente. Al parecer, se están abordando esta en la nueva versión y por eso se va a apoyar los nombres de más de 260 caracteres. Yo uso el Cygwin rsync en todo el lugar, así que como yo esperan con impaciencia el lanzamiento.

Hay algunas otras cuestiones con el Cygwin rsync. Se hace un lío de Acl a menos que se especifique cygwin=nontsec, y suele estar en muy grandes directorios. En mi lista de cosas para hacer antes de morir es escribir un nativo de Windows versión de rsync que no tienen estos problemas. Creo que esto ha sido hecho, sino sólo que las versiones comerciales, no de dominio público.

JR

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: