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.