Como funciona o rsync --compare-dest

4

Eu sei que há uma pergunta muito semelhante aqui , mas a resposta aceita não tem nada a ver com o rsync, e a solução do OP não se aplica no meu caso.

Estou tentando obter todas as atualizações de um repositório do CentOS que diferem do meu repositório local, comparando-as com um backup de disco do repositório:

rsync -avh --dry-run --compare-dest=/run/media/user/centos6/updates/x86_64/Packages /home/REPOS/6/updates/x86_64/Packages/ updates

No entanto, o dry-run mostra que todos os pacotes serão transferidos, não apenas os novos.

Fazer um dry-run diferente, como se eu estivesse copiando do repositório para o disco, transfere apenas os novos pacotes:

rsync -avh --dry-run /home/REPOS/6/updates/x86_64/Packages/ /run/media/djones/centos6/updates/x86_64/Packages

O rsync é claramente capaz de diferenciar os novos arquivos, mas por alguma razão a opção compare-dest ainda não parece funcionar.

A solução rápida e suja seria simplesmente descarregar uma lista de arquivos usando o segundo comando e, em seguida, alimentar isso para o rsync. Mas eu realmente gostaria de fazer isso da maneira "certa".

    
por orodbhen 26.03.2015 / 21:42

2 respostas

0

Eu tive o mesmo problema, você tem que fazer:

rsync -avh --dry-run                                          \
      --compare-dest=/run/media/user/centos6/updates/x86_64/  \
      /home/REPOS/6/updates/x86_64/Packages                   \
      /path/to/updates

Nota --compare-dest é o pai de Packages e não coloca / no final da pasta de origem!

    
por 27.05.2016 / 11:18
0

você precisa de algo assim: %código% (defina pastas para variáveis ou altere variáveis para seus caminhos, os caminhos devem ser finalizados por /) rsync --compare-dest=$local_repo/ $centos_repo/ $differences/ pode ser alterado para dados atuais ou algo assim.

Copie as diferenças dentro das pastas que estavam entre centos_repo e local_repo (centos_repo é a origem) para a pasta diferenças. Faz toda a árvore dirs, mas insere apenas arquivos alterados nas diferenças.

Se alguém usá-lo para backup, deve lembrar que o arquivo que foi deletado na fonte (centos_repo) e existir em compare (local_repo) não é copiado para diferenças

    
por 12.06.2017 / 09:24