Por que o rsync atualiza os diretórios NTFS quando a fonte não foi alterada?

Por que o rsync atualiza os diretórios NTFS quando a fonte não foi alterada?

Estou tendo aulas com muita análise fonética e gramatical. Eles me deram uma conta em uma rede Windows 10. Como me sinto muito mais confortável com Mac e Linux (e como o horário de disponibilidade do Windows é limitado), faço meu trabalho em meu laptop Mac.

Montei automaticamente meus diretórios NTFS, mas há algo estranho com sua LAN, de modo que muitas vezes alguns aplicativos têm acesso somente leitura ou nenhum acesso.

Conseqüentemente, trabalho em uma cópia local e frequentementesincronizar novamentemudanças. Mas o rsync* sempre atualiza todos os diretórios NTFS – apenas o diretório, nunca nenhum arquivo (exceto aqueles que eu realmente alterei). Na maioria desses diretórios, nunca naveguei, aindasincronizar novamenterelata atualizações em toda a árvore do subdiretório. Não é importante – termina em segundos – mas ainda é bem estranho.

O que o Windows e o NTFS fazem com os diretórios que nunca são acessados, o que faz o rsync pensar que eles foram alterados?

Responder1

Permitir comparação de tempos mod com precisão reduzida

Aparece neste tipo de configuração onde você monta em uma partição NTFS e deseja garantir o uso de parâmetros apropriados, como --modify-window=5aumentar o valor padrão para permitir a comparação de tempos de modificação com precisão reduzida.

--modify-window 

    When comparing two timestamps, rsync treats the timestamps as
    being equal if they differ by no more than the modify-window value. This 
    is normally 0 (for an exact match), but you may find it useful to set 
    this to a larger value in some situations. In particular, when
    transferring to or from an MS Windows FAT filesystem (which represents               
    times with a 2-second resolution), --modify-window=1 is useful (allowing 
    times to differ by up to 1 second).

Recursos adicionais

Responder2

Primeiro a responder ao problema de somente leitura dos programas. Como o compartilhamento de rede é controlado pelo Windows, o Windows permite apenas privilégios de determinados usuários para fazer coisas. Pode ser um compartilhamento público, ou seja, qualquer pessoa pode visualizá-lo para baixar arquivos, etc., mas não alterá-lo, a menos que seja especificamente adicionado para poder fazê-lo. Já que você está usando Mac, que é semelhante ao Linux. Nem todo aplicativo Linux que você está usando usa o mesmo nome de usuário com o qual você está conectado no momento no seu Mac ou Linux. Portanto, como o programa não está usando o seu nome de usuário logado, não é concedido privilégio para editar os arquivos de acordo com o Windows, pois o nome de usuário não corresponde.

Em segundo lugar, o Rsync é recursivo. Ou seja, ele passará por todos os diretórios. A menos que você o limite a um diretório específico, mas mesmo que o limite a 1 diretório, ele continuará percorrendo todos os diretórios que estão no diretório a partir do qual foi iniciado. É para isso que foi projetado. Daí ser chamada de sincronização recursiva. Agora, o motivo da atualização dos diretórios e não dos arquivos pode ser como o rysnc está obtendo o carimbo de data/hora dos diretórios. Pode ser que seus diretórios do Windows 10 não tenham um carimbo de data/hora modificado ou acessado, apenas um carimbo de data/hora de quando o diretório foi criado, enquanto os arquivos têm todos esses carimbos de data/hora, que é o que o rsync usa para determinar se precisa atualizar diretórios ou arquivos.

informação relacionada