Por que o rsync não pegou no mundo do Windows? [fechadas]


97

Parece que o rsync é o padrão de fato para backup e sincronização de arquivos eficientes no Unix / Linux.

Alguém tem alguma idéia de por que não teria percebido no mundo do Windows?

Por que não se tornou um 'protocolo' universal para sincronização de arquivos?


4
É porque não há uma porta decente e porque o pessoal do Windows está acostumado ao It Just Works. As portas não muito existentes são uma grande PITA.
RomanSt

1
Windows já fornece sincronização delta através DFS e RDC que pode ser gerenciado centralmente, maciçamente implantado, etc. configurado
Panagiotis Kanavos

@ p.campbell, há cwRsync para Windows
Pacerier

Respostas:


48

Eu diria principalmente porque as pessoas no Windows desconhecem isso. O Rsync é um utilitário de linha de comando que é consistente com a filosofia unix de ter muitas ferramentas pequenas pré-instaladas. A filosofia do Windows baseia-se em aplicativos GUI, todos baixados e instalados separadamente. Não existe um ponto de integração tranqüilo onde o rsync seja óbvio ou faça muito sentido, e a execução de comandos em um sistema Windows é tediosa, na melhor das hipóteses.

Além disso, o rsync realmente brilha quando faz parte de um aplicativo maior (por exemplo, para consolidação e análise de logs) ou como um sistema de arquivamento automatizado (implementado facilmente com um cronjob). O Windows simplesmente não tem outras ferramentas em seu ecossistema para tornar o uso do rsync realmente viável.

Finalmente, eu diria que o rsync é muito complicado. Qualquer um que conheço que o utiliza regularmente possui um grupo predefinido de sinalizadores (o meu é -avuz) que geralmente faz o que deseja, mas as páginas de manual / documentação listam dezenas de opções de linha de comando, algumas delas amálgama de outras opções. Por exemplo (da [página do manual] [1]):

-a, --archive : modo de arquivo; é igual a -rlptgoD (sem -H, -A, -X)

É uma maneira rápida de dizer que você deseja recursão e deseja preservar quase tudo (com -H sendo uma omissão notável). A única exceção à equivalência acima é quando --files-from é especificado, caso em que -r não está implícito.

Os usuários do Windows geralmente esperam, bem, janelas e menus, e ter um único aplicativo como uma solução tudo em um, não apenas uma parte independente de uma cadeia de ferramentas.


11
Eu concordo totalmente com você ! As páginas de manual são a pior maneira de entender o rsync e muitos outros aplicativos.
Antoine Benkemoun 03/07/2009

2
Na verdade, é o contrário. O pessoal do UNIX / Linux não sabe que o Windows fornece fornece DFS e RDC desde 2006, pelo menos. É fácil configurar, gerenciar, implantar em domínios inteiros (ou seja, centenas ou milhares de desktops com dezenas ou centenas de clientes).
Panagiotis Kanavos

3
@PanagiotisKanavos Exceto DFS é diferente de rsync. O NFS (ou vários outros protocolos) estão disponíveis no sistema operacional Linux, mas o rsync geralmente é usado para backups em etapas, transferências fora de hora, etc. Maçãs e laranjas.
Andrew White

5
@ Pacerier: "Linha de comando é linha de comando"? Você é extremamente tolerante ou conhece apenas um e não os outros. Para qualquer pessoa normal que conhece o Bash no Linux / Mac (ou em qualquer outro shell do Unix), o cmd.exe é tão prejudicado que dizer que é "tedioso na melhor das hipóteses" ainda é um eufemismo.
mivk

2
"e executar comandos em um sistema Windows é tedioso na melhor das hipóteses." - ou você não fez muito disso, nunca ouviu falar do Powershell, é um fanboy do Linux ou todos os itens acima. Atualmente, não é diferente de fazê-lo no Linux.
Alan B

63

Estou surpreso que ninguém tenha mencionado DeltaCopy , que é o rsync empacotado em uma GUI do Windows. Pode até se instalar como um serviço compatível com rsyncd.


3
+1 Eu não posso aprovar isso o suficiente. DeltaCopy é como fazemos o backup de alguns servidores Linux no nosso servidor de backup baseado no Windows. Rsync no Ubuntu diretamente no cliente DeltaCopy no Windows.
Matt Everson

ele não parece jogar bonito com permissões de segurança NTFS
JamesRyan

Isso pode extrair arquivos via SSH, sem o rsyncd na máquina Linux remota?
precisa saber é o seguinte

1
Quando o rsync é executado sobre o ssh, ele inicia um processo de rsync do outro lado. Você não precisa configurar um rsyncd independente em execução no controle remoto, mas precisa instalá-lo.
Sekenre 24/08/2015

DeltaCopy como servidor no Windows, script cron executando o rsync em um linux box e o rsnaphot para obter backups do "Time Machine". Impagável.
MGP 22/06

11

Na minha opinião, porque não há GUI decente.

Outro argumento pode ser que haja robocópia. A robocopy está faltando muitos recursos interessantes que o rsync oferece, mas na maioria das situações a robocopy é apenas suficiente para o trabalho em questão.


4
A robocopy não otimiza as cópias remotas, que é a principal inovação do rsync. Eu diria que não ter um GUI clique pontudo é a única desculpa para não tentar isso
Javier

2
No mundo do Windows, trabalhar com arquivos "remotos" geralmente envolve o compartilhamento do disco remoto e, em seguida, a operação de arquivos "locais". E para essa robocópia é suficiente.

9

Eu uso o Cygwin rsync extensivamente e funciona muito bem.

Mas ...

É um bugger para instalar e configurar. Você precisa fazer uma instalação completa do Cygwin apenas para obter uma binária e três dlls, e não é óbvio quais são necessárias três dlls. Como executá-lo como um serviço não é óbvio e a sintaxe da linha de comando é complexa. Os não-nerds gostam de desistir muito rapidamente.

Também atrapalha as permissões até o ponto em que eu sempre defino cygwin = nontsec e trava regularmente. Eu entendo que o problema é um problema conhecido com a dll Cygwin, em vez de o rsync em si (o que não é uma crítica aos caras da Cygwin. O que eles conseguiram é quase milagroso!).

O Rsync é extremamente útil se você fizer qualquer tipo de replicação nos links da WAN e estiver na minha lista de tarefas para escrever uma versão nativa do Win32. Infelizmente, ele está na minha lista de tarefas há vários anos e não está mais perto do topo. Eu não acho que apenas escrever um wrapper de GUI seja um grande passo à frente, pois falha em resolver alguns dos problemas fundamentais da versão do Cygwin.

Se alguém estiver interessado, http://www.ratsauce.co.uk/notablog/UsingRsync.asp descreve os resultados de minhas muitas horas de dor fazendo com que o Cygwin rsync funcione no Windows.

JR


Além disso, apesar de ter instalado e funcionado bem no meu sistema XP, o Vista não gostou nada disso. Rsync é o negócio, se houvesse uma porta nativa para o Windows, tenho certeza de que seria muito mais usado.
gbjbaanb

A instalação do Git for Windows fornece o bash configurado e o CygWin prontos para uso. Você pode até selecionar uma integração de comandos unix ao CMD. Voila, eu esqueço usando PowerShell ou CMD)
it3xl

8

Eu diria que, para sincronizações menores de computador para computador, as pessoas estão usando Robocopy , SyncToy ou Foldershare (agora Live Sync). Para os cenários de compartilhamento de arquivos multimaster distribuídos para grandes empresas, eles estão usando o DFS (Sistema de Arquivos Distribuídos) . Essas ferramentas lidam perfeitamente com a maioria dos cenários de sincronização, deixando muito pouco benefício em instalar, aprender e usar um aplicativo * nix recompilado no Windows.


7

Qual seria a sua média de usuário do Windows usá-lo para ?


3
+1 por ser verdadeiros - janelas de backup do usuário é principalmente "arrastar e soltar-lo para um disco rígido separado / externo"
LiraNuna

17
Eu raramente marca respostas, e não vou marcar essa, mas desde quando ServerFault é um fórum para usuários comuns do Windows? Para o administrador de sistemas, a replicação externa está se tornando cada vez mais importante. As grandes empresas provavelmente comprarão o DPM para usar em suas conexões T3. Nós, tipos mais humildes, precisamos de algo que funcione na velocidade de upload ADSL, e o rsync faz isso muito bem.
31411 John Rennie

3
@ John: sim, mas as pessoas não vão usar o rsync a menos que saibam que ele existe. O rsync tem sido usado, e útil, para usuários "típicos" do * nix há muito tempo e, portanto, qualquer administrador de sistemas * nix que se preze sabe sobre ele. No Windows? Não muito. O Windows é (e provavelmente o mais importante) foi direcionado a um público diferente, que não tinha interesse ou utiliza ferramentas como essa. E como os administradores do Windows geralmente começam como usuários do Windows , as ferramentas usadas são influenciadas por quais ferramentas do Windows usuários . usar Você está misturando duas preocupações diferentes ( por que não é popular, vs seria útil )
jalf

Eu só respondeu a primeira, eu não estou negando que seria útil
jalf

Sim, mas existem muitos servidores Windwos por aí que também precisam ser copiados.
kiltek

4

OMI:

É muito menos provável que o rsync seja instalado em máquinas encontradas no mundo Windows, enquanto o Resource Kit com robocopy é frequentemente instalado (ou pelo menos está em uma lista "aprovada" de software que pode ser instalado em um sistema de produção).

Como outros já apontaram, a robocópia é geralmente mais do que adequada para esfolar o que quer que esteja à mão. Pode não ser tão bom quanto o rsync, mas é uma boa ferramenta.

A falta de GUI pode ser um fator, mas, embora exista um front-end disponível para robocópia, acho que a maioria das pessoas descobre as opções de robocópia necessárias e coloca-as em um arquivo .bat.


Com o Windows 2008 (e até eu assumo), a robocopy vem incluída no sistema operacional, portanto, não é mais necessário instalá-lo.
Mrdenny 02/07/2009

Eu não percebi isso. Obrigado pela informação ... estamos a pelo menos um ano de 2008 em nosso ambiente e não o acompanho desde que deixei a administração do AD.
damorg

O Robocopy também é instalado por padrão no Vista e no Windows 7 e, possivelmente, em suas contrapartes em PE.
Oskar Duveborn

O Robocopy não transfere apenas as partes CHANGED dos arquivos, então arquivos grandes com pequenas alterações são copiados muito lentamente em comparação com o que o rsync faz.
JustinP

4

Uso robocopy no Windows - que vem pré-instalado no Windows Vista e Windows 7 e é compatível com qualquer situação de backup que encontrei até agora.


2

Meu palpite é que ele simplesmente não tem uma interface gráfica. Para tarefas fáceis de sincronização, a Microsoft oferece o Sync Toy e o rsync pode fazer muito mais ...


Na verdade, existe uma interface gráfica: sepiola.org/en/home Conversei com os desenvolvedores da Sepiola uma vez e eles me disseram que criaram uma interface gráfica com o rsync.

2
Eu diminuí a votação disso, porque sugere que os administradores de sistemas do Windows são perdidos sem uma GUI. O que não é realmente verdade; a maioria dos bons administradores está bem com os utilitários de linha de comando.
quux

2

Para o que é worh, existe um rsync perfeitamente funcional para Windows que não precisa da instalação do Cygwin. Eu tenho usado para fazer backup de diferentes partes dos meus dados em diferentes unidades. É útil excluir diretórios específicos, mas provavelmente outros utilitários também o fazem.

Nestor


Ele ainda usa o Cygwin, o que significa que a dll pode mexer com outros aplicativos que possam usar o Cygwin. Geralmente é melhor instalar o Cygwin nesses casos.
dlamblin

2

Oh garoto, vocês obviamente estão perdendo o utilitário "Unison". Eu tenho apoiado algumas das principais infraestruturas "em tempo real" dos EUA / EUR e devo dizer que todos têm problemas muito semelhantes ... como replicar e poder estar ativo / ativo o tempo todo ... se você não se importa sobre a persistência da sessão, essa coisa é a bomba ... a melhor coisa que encontrei nos extras do solaris :-)



0

Eu acredito que o rsync pode ser usado no cygwin no windows world :) o cygwin é fácil de instalar e usar, no entanto, para usuários comuns que amam GUIs, isso não é muito comum. então temos duas barreiras:

1) falta de interface gráfica

2) mesmo que houvesse uma interface gráfica do usuário no tcl / tk, por exemplo - a necessidade de instalar o cygwin é uma barreira.

e o rsync não é um software proprietário que deseja vender a si próprio e, portanto, luta para eliminar barreiras diante de clientes em potencial. Como Joel sais: eliminar uma barreira dobra sua base de usuários. Portanto, aqui temos barreiras para os usuários do Windows - como conseqüência, uma pequena base de usuários na plataforma Windows.


0

Eu uso robocopy para comportamento semelhante ao rsync no Windows.

Basicamente, escrevi um arquivo backup.bat que tenho em uma unidade externa. Eu regularmente corro o arquivo para fazer backup de meus desktops na unidade externa. Depois guardo a unidade externa em um cofre à prova de fogo.



0

Exatamente o mesmo motivo tare bzip2são desconhecidos. Muito não se encaixa bem no Windows. compactar um diretório e transferi-lo pelo SMB se encaixa melhor no Windows e parece quase tão rápido em vários casos. Esse não é realmente o meu sonho para um mundo melhor, mas é uma realidade para lidar. A maioria das máquinas Windows não possui nenhuma camada unix instalada. Ao contrário do Mac OS X.


0

Existem algumas novidades do rsync em desenvolvimento. Um que eu me deparei recentemente com a wikipedia é o yintersync . Parece bastante abrangente como uma interface gráfica para o rsync no Windows e também suporta cópias de sombra para replicar arquivos ao vivo.

Testei recentemente isso no meu sistema de trabalho com bons resultados. Ele possui um agendador interno e relatórios de email. Isso pode ajudar o rsync a finalmente chegar à multidão do Windows


0

A falta de GUI não é realmente um problema. xacls, robocopy, net, sc são muito úteis e não têm nenhuma interface gráfica. Acredito que, se o rsync não for usado, é mais devido ao fato de que:

  1. O Windows não possui um shell real e uma linguagem de script real. E as pessoas que usam lote também estão usando robocopy.
  2. Desde 95, o Windows vem com uma ferramenta gráfica fácil de usar (denominada "documento Porte" na versão francesa). Desde o Windows 2000 (ou XP?), Existe um menu "sincronizar" no explorer.

A definição de "real" é? ^^
Oskar Duveborn

Um shell real permite personalizar mais do que prompt, tamanho da janela ou lado a lado. Ele oferece a capacidade de executar todas as tarefas que você deseja (gerenciar contas de usuário, ajustar a configuração do sistema, ...). Uma linguagem de script real permite definir o ambiente (você já tentou usar o comando "date" em um ambiente de vários países?) E pode ser usado em um prompt interativo (diferente de vbs / js).
Benoit

O PowerShell atende a todos os seus requisitos e faz parte do Windows desde 2006. Ele se integra ao .NET, então eu prefiro o Bash em alguns casos.
James
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.