Sincronize dois diretórios no linux pc

5

Eu preciso de um sistema de arquivos distribuído (ou uma ferramenta de sincronização) capaz de manter um diretório sincronizado em 4 computadores.

Meus requisitos são:

  • acesso off-line (os dados devem estar disponíveis off-line em cada computador)
  • preserva os direitos de execução: alguns arquivos são marcados como executáveis em uma partição linux. Este sinalizador deve ser replicado.
  • estratégia de sincronização eficiente: alguns dos meus arquivos têm 20 GB, eles são alterados com bastante frequência, mas em pouquíssimas partes (imagens do Virtualbox). Transmissões Delta são bem vindas.
  • manipulação eficiente de espaço: sem histórico de arquivos, os arquivos não devem ser copiados para diretórios temporários "apenas no caso de você quebrá-lo".
  • deve propagar exclusões de arquivos
  • modificação pode acontecer em qualquer um dos 4 pcs, eles devem ser propagados quando outro pc estiver conectado.
  • A solução
  • deve ser tolerante a falhas: na maioria das vezes, os 4 PCs são desconectados / não são capazes de sincronizar.

Outras especificações da minha solução são:

  • A sincronização é feita em uma lan, a quantidade total de dados a serem sincronizados é de cerca de 180 GB, em cerca de dez mil arquivos. As alterações são pequenas, mas podem acontecer em arquivos grandes.
  • No momento, estou interessado em uma solução somente do Linux.
  • Estratégia de mesclagem simples: os conflitos não acontecem ou são resolvidos com "o último ganha"

Não encontrei nenhuma boa solução. Eu tenho tentado:

  • unison: é o único que está funcionando no momento, mas eu tive que fazer muitas configurações customizadas (scripts cron que encadeiam execuções). Ele trava meu pc por muitos minutos para detectar mudanças, a luz do disco está acesa.
  • O Sparkleshare não gerencia arquivos grandes muito bem. Ele mantém um histórico de todas as alterações que crescem indefinidamente. Eles prometem que será corrigido em próximos lançamentos , mas no momento ainda não atende às minhas necessidades.
  • O owncloud não manipula arquivos grandes com boa qualidade, tem desempenhos de cópia ruins, mantém o histórico de cada arquivo que eu altero (pode ser desativado).
  • coda? (ajuda! eu não consegui configurar corretamente!)
  • O assistente do git-annex transforma todos os seus arquivos em links simbólicos e marca o arquivo original como somente leitura ("caso você faça um erro enquanto você o modifica "!). Antes de editar um arquivo, você tem que emitir um comando especial "git-annex unlock", que cria uma cópia local do arquivo, e você precisa se lembrar de bloqueá-lo novamente se quiser sincronizá-lo. Eu tive que estudar o manual antes que pudesse recuperar meus 180Gb de arquivos! Nunca mais no meu pc!

O que você deve tentar agora?

    
por Gab 26.11.2012 / 11:14

1 resposta

1

Parece que estou necro'ando um tópico antigo, mas espero que isso ajude alguém no futuro.

O BTsync é provavelmente uma opção perfeita para você. Ele usa um enxame e rastreador privados para criar compartilhamentos de sincronização. É muito tolerante a falhas e lida com blocos de dados bem em vez de apenas a sincronização de arquivos completa.

Sincronização de BitTorrent

    
por 06.05.2014 / 00:44