sincronizando arquivos off-line distribuídos com arquivos grandes em unidades externas

1

Eu tenho um número de arquivos de mídia (digamos 500 arquivos de 500 MB cada, embora alguns sejam muito menores e alguns maiores) que eu não posso armazenar no meu computador, porque o disco rígido é muito pequeno, então eu quero armazená-los em uma unidade externa.

Eu poderia simplesmente mover tudo para uma única unidade, mas isso tem o risco de perder tudo em uma falha na unidade. Portanto, é preciso haver várias unidades sincronizadas entre si. A sincronização deve manter as unidades intercambiáveis, adicionando um arquivo para uma unidade deve adicioná-lo para a outra unidade e excluindo um arquivo em uma unidade deve excluí-lo por outro, não importa qual é o único e qual é o outro, porque Às vezes, uso vários computadores, cada um conectado à sua própria unidade externa, e não quero levar algum tipo de unidade mestre entre os computadores. Portanto, a ferramenta de sincronização precisa manter um histórico dos metadados dos arquivos que registram quais arquivos são novos e quais arquivos foram excluídos. Ele também deve rastrear a renomeação, para que não copie um arquivo renomeado totalmente, já que os arquivos de mídia compactados têm muito mais chances de serem renomeados do que modificados.

O histórico também pode tornar os backups mais confiáveis, se ele tiver um hash para cada arquivo, pode verificar se o arquivo ainda está intacto ou foi corrompido por problemas de disco. E eu poderia procurar quando o arquivo foi adicionado ou alterado pela última vez mais confiável do que o registro de data e hora do sistema de arquivos.

Agora estou procurando por essa ferramenta de sincronização. (atm estou usando apenas o linux, mas talvez eu use outro sistema operacional um dia?)

Algumas ferramentas que não se encaixam, mas se aproximam:

  • rsync: não mantém um histórico.

  • unison: Mantém o histórico, mas está no computador de sincronização e não nos dados. Se eu sincronizá-los em um novo computador, seria necessário redigitalizar tudo. E ele usa bancos de dados emparelhados, se houver n espelhos em m computadores, ele manteria m n² histórias (ou apenas m n com uma topologia em estrela, mas então precisa de uma unidade mestre novamente). Além disso, o banco de dados não parece ter sido projetado para uso a longo prazo, uma versão uníssono mais recente pode ter um novo formato de banco de dados, que precisa ser redigitalizado e não posso procurar em 10 anos quando eu adicionei o arquivo.

  • controle de código-fonte, git, hg, svn, gut, javali: os arquivos são grandes demais para manter um histórico de tudo. Também tenho arquivos importantes e sem importância na coleção, quando eu ficar sem espaço, eu prefiro excluir os arquivos sem importância permanentemente do que comprar uma unidade maior.

  • bup, git anexo: eles removem os arquivos do sistema de arquivos para armazená-los em seu próprio sistema de arquivos baseado em git. Isso dificulta o acesso a eles e eu prefiro uma solução que mantenha os arquivos como estão e apenas adicione os metadados necessários para rastrear as mudanças.

  • git-media: parece ser feito principalmente para contornar a limitação de tamanho de arquivo do git

  • dropbox google drive: não estão off-line

  • owncloud: Parece ser baseado em um servidor central sempre em execução, em vez de em um monte de discos rígidos iguais.

  • syncthing: parece ser executado permanentemente e sincronizar tudo imediatamente entre computadores. Eu quero fazer a sincronização localmente, ocasionalmente, como em conectar as duas unidades externas ao mesmo computador e sincronizá-las, em seguida, uma vez por mês

  • sparkleshare: parece não ser feito para arquivos grandes

por BeniBela 16.08.2017 / 14:06

0 respostas