Para suportar outro grupo em um continente diferente, eu executo um rsync da minha caixa do Fedora 21 para um compartilhamento cifs. O conteúdo do compartilhamento foi originalmente copiado para um disco rígido enquanto alguns dos membros do grupo estavam na cidade, visitando.
O rsync é este:
rsync --no-owner \
--no-group \
--verbose \
--recursive \
--links \
--itemize-changes \
--times \
--omit-dir-times \
<source>/ <destination>
Desde então, o rsync inicia bem, mas sempre descobre muitos arquivos que são re-transferidos porque o tempo está desatualizado. Especificamente:
f..t...... <file>
Eu acidentalmente descobri que, embora eu tenha especificado - vezes, ele apenas atualiza o tipo de modificação, não o tempo de alteração. O arquivo local se parece com isso usando 'stat':
File: <source file>
Size: 214 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 15211788 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 537/ build) Gid: ( 501/ toddb)
Access: 2017-01-23 07:08:40.724417237 -0800
Modify: 2010-08-20 21:57:32.000000000 -0700
Change: 2017-01-13 07:17:19.745921010 -0800
Depois de um rsync, o arquivo de destino é assim:
File: <dest file>
Size: 214 Blocks: 16 IO Block: 16384 regular file
Device: 3ah/58d Inode: 288918155034656 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 531/ toddb) Gid: ( 501/ toddb)
Access: 2017-01-23 07:08:40.000000000 -0800
Modify: 2010-08-20 21:57:32.000000000 -0700
Change: 2010-08-20 21:57:32.000000000 -0700
Observe que o destino tem tempos iguais para modificação e alteração. Isso parece correto, mas se eu executar o rsync novamente, o mesmo arquivo será copiado. Então, por um capricho eu usei isso ...
touch -r <source> <destination>
... para atualizar todos os arquivos relatados pelo rsync como sendo atualizados. Agora, quando eu corro, duas coisas são notáveis. (a) os resultados das estatísticas parecem ser os mesmos e (b) o rsync não retransfere mais o arquivo.
Então, o que poderia 'tocar' estar tocando o rsync não? (e deve)