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.