Como manter a sincronização local de arquivos em vários computadores

1

Eu tenho o requisito de sincronizar arquivos (documentos principalmente, sound bites, imagens de alta qualidade) entre vários PCs, clientes Macs e Linux e servidores.

O número de arquivos é grande e as sincronizações delta seriam necessárias. Eu gostaria que um arquivo fosse alterado em qualquer lugar para ser replicado. Além disso, o acesso offline é necessário. Controle de versão seria excepcionalmente útil e graciosa recuperação de duplicatas etc.

Em suma, estou procurando por dropbox, mas não hospedado, SaaS ou qualquer outro envolvimento de terceiros. Live mesh da Microsoft (ou o que é chamado esta semana) seria o ideal, mas para a terceira parte.

Eu acho que isso deve estar lá com um backend webdav ou algo assim, e eu simplesmente não encontrei a solução mais limpa.

Estou procurando a melhor maneira de implementar o acima. Ferramentas de código aberto preferidas, mas não explicitamente exigidas.

Obrigado a todos.

    
por Antitribu 04.12.2009 / 18:17

4 respostas

3

O que você descreve parece ser uma solução muito genérica, o que pode ser impossível (por exemplo, você não pode ter acesso off-line nem evitar a mesclagem manual, por exemplo, para arquivos multimídia).

Além das outras soluções, convém analisar Unison . Ele sincronizará várias árvores de diretórios para mantê-las idênticas após as alterações (principalmente as alterações off-line). Ao contrário do rsync, ele realmente lidará com mudanças em cópias múltiplas . Ele será inteligentemente mesclado, se possível, ou será solicitado se detectar conflitos.

Eu o uso regularmente para sincronizar meu desktop com dispositivos móveis, e funciona muito bem.

Ele precisa ser executado periodicamente, no entanto, não é um serviço contínuo.

    
por 21.12.2009 / 04:26
2

o ambiente que você está tentando criar pode rapidamente se tornar muito confuso. E se várias cópias de um arquivo binário fossem alteradas ao mesmo tempo em lugares diferentes? Como você vai mesclar essas mudanças?

Você provavelmente deseja implementar um sistema de arquivos de rede (distribuído) de algum tipo. O controle de versão pode ser feito com um instantâneo do sistema de arquivos subjacente.

Não tenho certeza se WebDAV lhe dará facilidade e E / S que você está procurando, mas pode ser assim. Outras alternativas são NFS , OpenAFS e CIFS .

    
por 04.12.2009 / 18:50
1

Use a popular ferramenta rsync . É multipla, madura e você terá muito apoio.

    
por 04.12.2009 / 18:23
1

Parece um trabalho para Subversion para mim, o que tem o requisito de controle de versão. Se você não disse isso, eu provavelmente teria sugerido rsync ou Unison , mas nenhum deles é vai ajudá-lo com o controle de versão.

Você pode obter ótimos clientes gráficos para Windows e MacOS (veja link para uma longa lista de clientes), e o acesso via WebDAV é disponível.

    
por 04.12.2009 / 18:56