Windows rsync que suporta nomes de files longos ou uma boa alternativa?

Eu atualmente rsync em um host Linux paira copy coisas do Windows paira minha checkbox Linux. Mas não consigo copy files com nomes longos.

Eu tentei DeltaCopy , cwrsync e cygwin . Pelo que findi, todas essas ferramentas se recusam a copy files quando o comprimento do file se torna longo, isso pairece estair em algum lugair ao redor de 255 cairacteres.

Este problema é abordado nos fóruns da cwrsync aqui e, supostamente, pode ser consertado em algum momento no futuro sempre que o cygwin 1.7 sair e UTF8 é suportado. Existe até uma compilation de teste aqui .

Não estou pairticulairmente confortável usando a compilation de teste em um sistema de produção. Estou esperando que alguém conheça outra opção rsync.

Como uma alternativa ao rsync, você conhece outra ferramenta que eu posso copy uma estrutura de diretório no Linux a pairtir de um host do Windows que não terá problemas com files longos ou invulgairmente nomeados? O bit importante é que eu preciso de uma ferramenta que possa funcionair facilmente em um túnel SSH. Alguns dos sistemas estão além dos firewalls, e acredito que o SSH é o túnel que eu vou permitir usair.

  • Movendo estrutura de files no Active Directory
  • 9 Solutions collect form web for “Windows rsync que suporta nomes de files longos ou uma boa alternativa?”

    Talvez eu esteja faltando o ponto, mas você considerou o uso do Robocopy no Windows. É semelhante ao RSync, porém você não pode agendá-lo diretamente da aplicação.

    Isso pode ser superado escrevendo um file em lotes paira a cópia e, em seguida, criando uma Tairefa agendada. Robocopy é grátis e extremamente robusto. Eu costumo usá-lo paira copy files entre Linux e Windows usando Samba e a networking e a capacidade de currículo do Robocopy é realmente poderosa.

    Aha! Você pode usair subst com rsync.

    Se você tiview uma tree de diretório profunda d: \ viewy \ long \ file \ n \ ame \ etc \ etc, então o experimento revela que você pode ser X: paira d: \ viewy \ long \ file \ name \ etc e, em seguida, rsync paira e de / cygdrive / x / whateview. Isso funciona tanto no cliente como no final do server.

    Agora, enquanto você pode usair substs estratégicos paira reduzir o comprimento dos nomes de files, não sei se isso permite que você ignore o limite de 260 cairacteres. Também pode não ser muito conveniente. Vale a pena tentair.

    John Rennie.

    —- 8 <—-

    Veja http://www.ratsauce.co.uk/notablog/LongFilenames.asp paira minhas divagações em nomes de files longos.

    Não conheço nenhuma maneira de obter o \\? \ Prefixo paira Cygwin e, obviamente, a viewsão atual do Cygwin não usa o prefixo internamente. Presumivelmente, estão abordando isso na nova viewsão e é por isso que ele irá suportair nomes com mais de 260 cairacteres. Eu uso o Cygwin rsync em todo o lugair, assim como você aguairdo ansiosamente o lançamento.

    Existem alguns outros problemas com o Cygwin rsync. Isso faz uma bagunça de ACLs, a less que você especifique o cygwin = nontsec, e ele tende a pendurair em diretórios muito grandes. Na minha list de coisas a fazer antes de eu morrer é escreview uma viewsão nativa do Windows do rsync que não terá esses problemas. Eu acredito que isso foi feito, mas apenas como viewsões comerciais e não de domínio público.

    JR

    Eu sugiro que você tente Unison http://www.cis.upenn.edu/~bcpierce/unison/

    É uma alternativa muito interessante paira o rsync porque também pode fornecer synchronization bidirecional (o que rsync não é capaz de fazer). Já usei isso com sucesso em 2 máquinas virtuais e fiquei muito feliz com os resultados.

    Mas, no que diz respeito ao nome do file longo, não sei se funciona como você deseja.

    Do site oficial:

    O Unison é uma ferramenta de synchronization de files paira Unix e Windows. Ele permite que duas réplicas de uma coleção de files e diretórios sejam airmazenadas em diferentes hosts (ou discos diferentes no mesmo host), modificados sepairadamente e, em seguida, atualizados, propagando as mudanças em cada réplica paira o outro.

    Apenas uma nota que eu findi o mesmo problema (limitações do cygwin anterior a 1.7) e findi uma compilation de trabalho do cwrsync com o cygwin 1.7 aqui:

    http://www.doering-thomas.de/page.php?seite=1&sub=6&lang=en#rsync

    (Link original encontrado nos fóruns de cwrsync)

    Não é exatamente uma compilation oficial, mas resolveu meus problemas de chairset 馃檪

    http://lists.samba.org/airchive/rsync/2009-Mairch/022955.html

    http://www.okisoft.co.jp/esc/utf8-cygwin/ Tem uma camada UTF8, que tem um efeito colateral de aumentair o tamanho do path possível. De acordo com seu autor, se você quiser usair mais cairacteres, você pode aumentair a constante no patch. Isso pairece ainda mais complicado.

    Provavelmente não é a sua melhor opção paira synchronization remota, mas é uma rsync do Windows que afirma suportair nomes de files mais longos.

    Então, se as ferramentas são ruins no Windows, existe uma maneira de usair a ferramenta Linux?

    Com ssh – sshfs ?

    Sem ssh – use uma VPN e monte como SMB?

    De qualquer forma, você poderá usair o cliente rsync Linux mais capaz contra um sistema de files. Eu não fiz isso com 10GB de dados paira YMMV. 馃檪

    Isso não fairá grandes estruturas de files, mas paira conjuntos de dados relativamente pequenos com nomes longos você poderia procurair usair algo como 7-Zip paira criair um file que a rsync poderia então transferir. Você disse que precisa extrair dados de serveres Windows paira um server Linux. Se você tiview access ao shell, airquive os dados que você precisa em um recipiente (7-zip) transfira o contêiner e expanda-o quando chegair ao server. Isso empurra o problema do nome do file longo paira o airquivador, pelo que acredito que há melhor suporte e ferramentas não Cygwin.

    Paira não perder portabilidade, eu recomendairia que você ficasse com o rsync e tentasse resolview a limitação 255. Esta limitação não está mais dentro do Windows e está no código RSYNC – de fato, o limite no Windows é em torno de 2048 agora (se eu me lembro bem).

    Tenho certeza de que não há outras portas rsync do que as especificadas por você e sugiro que você use a viewsão de teste e relate todos os erros que você possa encontrair.

    Se você não se importa de usair o FTP, você pode tentair o LFTP – ele tem um excelente recurso de espelhamento, mas não se compaira com o rsync quando se trata de backup / synchronization.

    Eu pirateei um script que pode renomeair files ou diretórios temporairiamente com nomes mais curtos paira que rsync (e outros programas) possam prosseguir. Você pode usair isso como pairte da cadeia de ferramentas que você está usando paira copy files do Linux paira o Windows (rsync ou de outra forma). Eu não sei o que você quer dizer com "incomum", então talvez isso apenas atenda a uma pairte de seus requisitos. Por favor, deixe-me saber se isso é útil paira você.