Sua pergunta é um pouco confusa para mim. Se por "redundância", você quer dizer "integridade" - ou seja, "Se eu rsync algo para o meu servidor posso ter a garantia de que é bit-a-bit idêntico ao material de origem?" a resposta é: provavelmente, mas a verificação de integridade é tão boa quanto os métodos de soma de verificação / comparação empregados pelo Rsync. Para mais informações, eu o encaminho para a página man do Rsync (confira o -c
e -B
options) e a página wiki do Rsync , que discute os algoritmos de comparação usados pelo Rsync.
Com relação a Rsyncs interrompidos : além de verificando o código de retorno do Rsync para determinar se ele foi terminado corretamente (a lista de códigos de saída do Rsync pode ser encontrada aqui ) executar o Rsync novamente é a melhor maneira de verificar se ele foi concluído sem corrupção ou interrupção na primeira vez. O Rsync irá comparar e ignorar quaisquer arquivos que já tenha copiado com sucesso, e irá copiar qualquer coisa nova ou diferente da fonte (isto realiza a mesma coisa que "retomar" uma transferência interrompida). Se o material de origem estiver mudando tão rapidamente que não é possível garantir a consistência entre as duas execuções, o Rsync pode não ser a melhor ferramenta para garantir a sincronização.
Se por "redundância", você realmente quer dizer "redundância" : ou seja, "Eu só quero substituir no servidor de destino se tenho certeza que tenho um cópia intacta dos dados para usar, mesmo se minha transmissão cair ", então a solução seria fazer vários Rsyncs, assim:
- Rincronize a cópia antiga dos dados do local local 1 para local local 2 - ambos no mesmo servidor ou locais de rede internos que têm um baixo risco de falha de conexão.
- Execute o passo 1 novamente e verifique se há erros. Isso verifica se você tem duas cópias do conjunto de dados existente que são idênticos.
- Rsync a cópia remota (nova) dos dados até o local 1.
- Execute o passo 3 novamente, para garantir que o local 1 contém uma cópia intacta dos novos dados.
Se o passo 4 ou 5 são interrompidos, você pode a) tentar Rsync da fonte remota novamente, ou b) simplesmente inverta a direção do Rsync no passo 1 e execute-o novamente, substituindo a cópia (presumivelmente corrompida) do dados com a cópia "bem conhecida" mais recente do local de backup na máquina local. Isso garantiria que você tem "redundância", pois você nunca corre o risco de ter apenas uma cópia corrompida de seus dados sem retornar a um conjunto de dados intacto.