É possível sincronizar dois diretórios linux em tempo real?

25

Eu gostaria de sincronizar um diretório de um disco rígido interno para um disco rígido externo.

Quando eu escrevo ou modifico um arquivo no meu disco rígido interno, automaticamente o mesmo arquivo é copiado para o disco rígido externo ... e, adeus, backup;)

Isso seria algo como um RAID com um disco rígido externo.

Isso é possível?

firme
fonte
22
Receio que pensar em "adeus backup" quase nunca seja apropriado ou correto.
Ben Pilbrow
A sério. O que Ben disse. Este NÃO é um substituto para o backup.
Duncan X Simpson

Respostas:

8

Em tempo real, tanto quanto eu sei, só existe DRBD . Mas acho que não se aplica à sua situação, pois quando você exclui um arquivo, também o exclui no disco externo. Mais facilmente, você pode usar o rsync e um script cron que é executado a cada poucos minutos.

PiL
fonte
Obrigado pela sua resposta. Mas se o "cron" rsync é executado a cada 0,5 minutos, isso compromete o desempenho? Não é muito pesado (verifica todos os arquivos se algo for alterado?)?
stighy
É por isso que eles inventaram sistema de arquivos com recursos de instantâneos;)
PIL
11
DRBD pode ser um pouco complicado para configurar, se precisar de ajuda configurando-I escreveu um belo artigo: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot
30

lsyncd parece ser a solução perfeita. ele combina inotify (função interna do kernel que observa alterações de arquivos em uma árvore de diretórios) e rsync (ferramenta de sincronização de arquivos de plataforma cruzada).

lsyncd -rsyncssh /home remotehost.org backup-home/

Citação do github:

O Lsyncd observa uma interface do monitor de eventos das árvores de diretórios locais (inotify ou fsevents). Ele agrega e combina eventos por alguns segundos e gera um (ou mais) processo (s) para sincronizar as alterações. Por padrão, isso é rsync. O Lsyncd é, portanto, uma solução leve de espelho ao vivo que é comparativamente fácil de instalar, sem exigir novos sistemas de arquivos ou dispositivos de bloco e não prejudica o desempenho do sistema de arquivos local.

jens
fonte
11
o engodo é que não é bidirecional
tymik 2/17/17
8

Você pode apenas criar um RAID1 de software em seus discos rígidos internos e externos. Para o sistema, não faz diferença se é um disco rígido embutido ou um armazenamento em massa conectado externamente.

Mas o RAID não é um backup! O que acontece se você excluir acidentalmente um arquivo no seu disco rígido? Ele também é excluído na sua unidade externa de "backup".

Os backups geralmente incluem mais de uma geração de arquivos, para que você possa recuperar arquivos excluídos acidentalmente.

joschi
fonte
4
Um +1 grande para o "RAID explícito não é backup".
nickgrim
Além disso, uma invasão de software com membros internos e externos do disco rígido provavelmente será muito lenta, não confiável e designada para quebrar com bastante frequência.
David David
2

incron (como sugerido para mim neste site no início deste ano).

Ainda não é um substituto para um procedimento de backup adequado.

Matthew Iselin
fonte
3
provavelmente melhor seria gravá-lo em pedra.
Dee
11
@ Dee Por favor, explique este comentário. O incron não é uma boa solução?
Imolit
0

O anexo git também pode ser usado para isso.

O git-anexo permite gerenciar arquivos com o git, sem verificar o conteúdo do arquivo no git. Embora isso possa parecer paradoxal, é útil ao lidar com arquivos maiores que o git atualmente pode manipular facilmente, seja devido a limitações de memória, tempo ou espaço em disco

Existe uma explicação passo a passo para atualizar rapidamente os usuários com o git-anexo

ypid
fonte
Embora isso possa teoricamente responder à pergunta, [seria preferível] incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Itai Ganot 31/08/2015