É 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?


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.


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.


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.


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.


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.