Eu uso o rsync com os seguintes sinalizadores memoráveis como 'glop' e 'trunc' e 'v'.
rsync -gloptrunc $srcdir $dstdir
Um breve guia:
- g - preservar informações de propriedade do grupo
- l - copiar links simbólicos como links simbólicos
- o - preservar as informações do proprietário
- p - preservar permissões
- t - preservar timestamps
- r - recurs através de diretórios
- u - atualize, pule os arquivos mais recentes
- [n] - não, não faça isso, faça uma corrida a seco
- c - soma de verificação, tente somas de verificação nos blocos de arquivos quando possível (*)
nota: nos sistemas de arquivos locais, isso é substituído e os arquivos inteiros são copiados.
- v - detalhado
Eu sempre corro o procedimento acima para garantir que funcione e, em seguida, removo o sinalizador 'n' que fica satisfeito com os resultados.
Os principais recursos das combinações acima:
- Eu o executo em AMBAS as direções entre dois (ou mais) servidores, sincronizando assim em AMBAS as direções. Você atualiza o que achar que é o mestre da época.
- Ele permite ser o mestre, com a ressalva significativa de que, se você deseja excluir algo, deve excluí-lo nos dois para ter certeza de que realmente se foi, caso contrário ele volta.
Eu uso isso para manter duas máquinas sincronizadas ou para subdividir em sincronização (como fazer backup em uma unidade USB).
Como uma das outras postagens declaradas anteriormente, a 'soma de verificação' pode ser forçada a DESLIGAR se você estiver lidando com unidades locais.
Em alguns casos raros, tive que adicionar parâmetros adicionais para explicar as alterações nas contas de login em máquinas remotas, alterar portas e até especificar onde 'rsync' mora no host remoto ... mas esses não são diretamente aplicáveis ao seu questão.