Como gerar uma comparação de pasta binária baseada em dois diretórios de sincronização?

1

Eu tenho um cenário simples em que preciso gerar versões para algum software baseado em java. O que eu tenho feito manualmente é:

1- Construa o software 2- Copie tudo o que é necessário para um "diretório de lançamento" 3- Comprimir o arquivo

Agora adicionei CI (Jenkins) para criar construções para mim. Então eu tentei rsync para atualizar um diretório de instalação base (que contém a última compilação). O problema com o RSYNC é usar timestamps. Como acabei de criar uma nova versão, todos os timestamps foram alterados. Há algo que eu possa fazer para comparar os arquivos no modo binário?

EDITAR

Isso é o que eu fiz. Por enquanto, src1 e src2 são os mesmos. A única diferença é o timestamp como src2 é uma cópia de src1. Em seguida, o rsync copia todos os arquivos para dst. Eu estava esperando que o dst estivesse vazio.

rsync -av --progress --stats --compare-dest=../src1/ src2/ dst/

Então eu tentei o seguinte. Gerei uma cópia de src1 com o mesmo timestamp e quando executo o mesmo comando, dst está vazio. O que me levou a acreditar que o rsync usa timestamps.

    
por code-gijoe 13.08.2012 / 16:22

2 respostas

3

Precisa usar a opção, caso contrário, o padrão é uma rápida comparação de data e hora e tamanho

--checksum

    
por 13.08.2012 / 16:53
1

O rsync efetivamente compara os arquivos no modo binário, ele só transmite o conteúdo se for encontrada uma diferença no conteúdo binário.

Pelo que entendi, as verificações do tempo de modificação (e tamanho) são usadas para selecionar arquivos para comparação.

O rsync tem uma opção --size-only

    
por 13.08.2012 / 16:28

Tags