rsync --ignore-times parâmetro não funciona no Ubuntu 16.04

1

Eu quero implementar um script de backup abrangente com base em rsync , então estou apenas experimentando agora para decidir os parâmetros corretos com base na minha exigência. Basicamente, eu quero que qualquer arquivo alterado deva ser copiado da origem para o destino, independentemente de seu tempo de modificação (ou seja, se o arquivo de origem é mais antigo / mais recente que o arquivo de destino, ele deve ser copiado se o conteúdo for diferente). No entanto, não está funcionando:

../src/test.txt
../dst/test.txt

Acima é a estrutura da pasta. Quando executei pela primeira vez o comando abaixo, copiei a pasta test.txt from src para dst.

rsync -avh --ignore-times src/ dst/

Em seguida, modifiquei o conteúdo de src / test.txt e executei o comando acima novamente, e desta vez também copiou o arquivo atualizado para a pasta dst.

No entanto, eu modifiquei o test.txt na pasta dst e executei o comando acima, mas desta vez, ele não funcionou e não copiei o arquivo da pasta src / para dst /. Mas considerando esta resposta , deveria ter funcionado como eu adicionei o parâmetro --ignore-times .

Isso é um bug no Ubuntu, ou estou fazendo algo errado? Qual parâmetro devo adicionar para que o arquivo seja sempre copiado da origem para o destino quando o conteúdo for diferente (mesmo quando o arquivo de destino for mais recente)?

editar

Eu até tentei adicionar o parâmetro --checksum para copiar apenas com base em checksums e ignorar o timestamp (como diz a página man). Mas mesmo isso não funcionou.

    
por Prahlad Yeri 22.01.2018 / 04:13

1 resposta

0

Por algum motivo, o modo --archive ou a parece não funcionar com os parâmetros --ignore-times ou --checksum . No entanto, o modo de cópia recursiva simples ( --recursive ou r ). Então, no meu caso, o seguinte fez o trabalho perfeitamente:

rsync -vcr src/ dst/
    
por 22.01.2018 / 09:20

Tags