rsync de dois servidores para um local comum

0

Eu tenho dois servidores e quero rsync arquivos de ambos os servidores para um único local.

  • O servidor 1 possui arquivos A e B
  • O servidor 2 possui arquivos A e B
  • Depois de rsync server 3 ter o arquivo A e B

Quando um usuário exclui o arquivo A do servidor 1 e o arquivo B do servidor2, o servidor 3 não deve ter arquivos nele.

Mas não está funcionando corretamente na minha configuração:

  • rsync --delete server1 server3
  • rsync --delete server2 server3

Apaga A primeira e segunda B, mas A será copiado novamente do servidor 2. Em vez de ficar com o diretório vazio, acabo novamente com A.

Alguém tem um trabalho para isso?

    
por newadmin 24.03.2014 / 13:13

2 respostas

0

O comando rsync que você está fazendo está fazendo do server3 uma cópia estrita de qualquer servidor que esteja copiando. Então, ele se torna um clone do server1 (com A ausente e B lá), então você diz para ele ser um clone do server2 (com A lá e B faltando)

Você pode voltar um nível e explicar o que você pretende fazer aqui?

    
por 24.03.2014 / 13:18
0

Você já tentou

rsync -u --delete server1 server3
rsync --delete server2 server3

Da página do manual do rsync:

  -u, --update                update only (don’t overwrite newer files)

Se é o servidor1 ou o servidor2 quem faz a sincronização primeiro, respeitará se o arquivo já estiver no servidor3.

Observe, entretanto, que você deve colocar seus comandos rsync em um script e colocar um arquivo de sinalização para indicar que a sincronização não será executada se o outro estiver em execução.

Deixe-me saber se isso ajuda.

    
por 28.04.2014 / 09:51

Tags