sincronizando arquivos offline 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 um acidente de carro. Portanto, é preciso haver várias unidades sincronizadas entre si. A sincronização deve manter as unidades intercambiáveis, adicionando um arquivo a uma unidade deve adicioná-lo à 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 renomear, para que não copie um arquivo renomeado na íntegra,

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 uma 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 mn com uma topologia em estrela, mas então ele 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 nova versão uníssono pode ter um novo formato de banco de dados, que precisa ser redigitalizado novamente e não posso procurar em 10 anos quando adicionei mais esse arquivo.

  • controle de 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 do tamanho do arquivo do git

  • dropbox google drive: não estão offline

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

  • syncthing: parece rodar 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 uma vez por mês

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

BeniBela
fonte
Várias unidades externas em vários dispositivos e sincronização ativa são contra-intuitivas. Eu digo usar um único mestre sempre no repositório em algum hardware legado, então nos algo como resilio sync para empurrar e puxar os arquivos. Mas isso não cria redundância em si, porque se você errar ou tiver uma falha, poderá facilmente perder dados. Você ainda precisa de um backup SEPARADO que seja sincronizado unidirecionalmente. As empresas usam a regra 3-2-1 como um MÍNIMO típico.
Damon
Eu não uso com freqüência suficiente para justificar o hardware dedicado para isso. Como uma vez por semana, em média. Deve evitar a maioria das falhas com a história. Como o Git. Você não precisa temer acidentalmente corromper um repositório Git. (a ferramenta de sincronização pode mover arquivos excluídos em uma pasta thrash para permitir desfazer a última sincronização). Eu poderia dar um passeio para minha mãe em outro estado, mas então eu só poderia sincronizar com aquela uma vez por ano.
BeniBela
FreeFileSync, Resilio Sync
Damon
O FreeFileSync, pelo menos, armazena o banco de dados de rastreamento de alterações na pasta correta, mas não armazena hashes de todos os arquivos para detectar a corrupção. O Resilio parece ser feito para sincronização de fundo permanente entre dispositivos, em vez de sincronização ocasional entre as unidades.
BeniBela