Existe alguma ferramenta disponível para sincronizar arquivos entre dois ou mais servidores Linux imediatamente após a gravação do arquivo no disco? O rsync
comando não combina comigo porque, se eu definir rsync
no cron, o tempo mínimo que posso definir é de 1 minuto, mas preciso em tempo real.
linux
files
synchronization
Sourav
fonte
fonte
Respostas:
Ainda não o usei, mas li sobre isso recentemente. Existe um daemon chamado
lsyncd
, que eu presumo que faz exatamente o que você precisa.Leia mais AQUI
fonte
lsyncd
usainotify
e deve ser o mais rápido no nível fs. Mais em github.com/axkibe/lsyncd . A partir dessa página: Lsyncd observa uma interface de monitor de eventos de árvores de diretório local (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 bloqueio e não prejudica o desempenho do sistema de arquivos local.Inotify-tools
Forneça uma interface para
inotify
, consistindo em:inotifywait
Este comando simplesmente bloqueia os eventos inotify, tornando-o apropriado para uso em scripts de shell. Ele pode assistir a qualquer conjunto de arquivos e diretórios e pode assistir recursivamente a árvores de diretórios inteiras.
inotifywatch
Este comando coleta estatísticas de uso do sistema de arquivos e gera contagens de cada evento inotify.
fonte
Sincronização de arquivos em tempo real entre vários servidores no modo multi mestre
Existe uma boa ferramenta chamada
lsyncd
para sincronizar arquivos entre vários servidores em tempo real. Aqui eu tentei com dois servidores.Hosts: Servidor1 e Servidor2
SO utilizado: CentOS 7
Instale os pacotes abaixo nos dois servidores.
gere a chave ssh nos servidores e adicione ao
authorized_keys
arquivo. [adicione a chave pública do servidor1 ao servidor2authorized_keys
e a chave pública do servidor2 aoauthorized_keys
arquivo do servidor1 ]Configuração do Servidor1
Abra
/etc/lsyncd.conf
e comente a configuração padrão usando--
no início da linha e adicione a configuração abaixo ao arquivo.Altere o IP de destino no
target
parâmetroVocê pode alterar o
delay
parâmetro conforme sua exigência. Aqui está definido 1 segundo.Agora crie o diretório de log.
Habilite o
lsyncd
serviço para iniciar automaticamente.Inicie o serviço.
Configuração Server2
Siga a mesma configuração do Server1 e altere o
target
IP.Agora a sincronização está definida.
Você pode verificar a atividade em
tailf /var/log/lsyncd/lsyncd.log
Agradeço a MelBurslan por sua sugestão.
fonte
Sincronizar pode ser uma opção. É extremamente rápido, a transferência é criptografada e existem clientes para várias plataformas. Ele usa "inotify" para sincronizar arquivos alterados instantaneamente.
fonte
Você precisaria abordar isso com uma solução do tipo de sistema de arquivos em cluster - uma sincronização simples entre as duas máquinas não fornecerá resposta em tempo real.
fonte
O "SIOS Protection Suite para Linux" pode oferecer isso na AWS.
http://www.linuxclustering.net/2016/03/21/step-by-step-how-to-configure-a-linux-failover-cluster-in-amazon-ec2-without-shared-storage-amazon- aws-sanless-cluster / # InstallConfigureCluster
fonte