A página de manual do rsync afirma:
O Rsync encontra arquivos que precisam ser transferidos usando um algoritmo de "verificação rápida" (por padrão) que procura arquivos que mudaram de tamanho ou no horário da última modificação. Quaisquer alterações nos outros atributos preservados (conforme solicitado pelas opções) são feitas diretamente no arquivo de destino quando a verificação rápida indica que os dados do arquivo não precisam ser atualizados.
Portanto, para que um arquivo seja ignorado, o tempo de modificação deve ser o mesmo na origem e no destino. Mas como --times
está desativado por padrão, os arquivos de destino obterão o horário da sincronização como o horário de modificação, fazendo com que sejam transferidos repetidamente.
Especialmente o fato de que esse parágrafo diz (ênfase minha):
... Quaisquer alterações nos outros atributos preservados ...
faz parecer (para mim) como se o tempo de modificação já fosse um atributo preservado por padrão, mas no meu experimento descobri o contrário.
o que estou perdendo?
"(conforme solicitado pelas opções)"
Sim, a palavra "outro" na frase possibilita sua interpretação, mas acho que a situação real é que não há atributos preservados por padrão, e que estes precisam ser solicitados explicitamente por options .
rsync
funciona de maneira muito semelhantecp
a esse respeito, que também não preserva carimbos de data e hora ou propriedades em arquivos por padrão. Ambos preservam as permissões.