Bash / Rsync: Sincronizar arquivos unidirecionais, deixar arquivos sozinhos quando apenas os metadados forem alterados

2

Eu tenho alguns programas que permitem a exportação para diferentes formatos (por exemplo, html), mas muitos deles compartilham um problema: as exportações são sempre feitas "todas juntos ", ou seja, coisas como imagens ou anexos são criados novos em a pasta de exportação em cada exportação, mesmo que eles não tenham mudado desde última exportação. Além disso, geralmente eles não cuidam de remover arquivos obsoletos ou pode até falhar quando o diretório já contém arquivos. Eu vi problemas semelhantes com as funcionalidades de exportação de diferentes programas, atualmente meu caso de uso é o ZIM Desktop Wiki.

Eu pensei em exportar para um diretório temporário e usar rsync para sincronizar o arquivo exportado para o diretório final de exportação, por exemplo. Google Drive ou Dropbox. Usando o rsync, no entanto, não consegui encontrar maneira de integrar os arquivos alterados no diretório de destino sem alterando os tempos de modificação dos arquivos que NÃO mudaram, que é susceptível de confundir os backups do diretório e / ou o sincronização de nuvem, causando tráfego de upload desnecessário em um caso, arquivos duplicados na unidade com os backups incrementais na outra e uma enorme perda de tempo em ambos.

Existe alguma maneira de fazer o rsync fazer uma verificação pelo conteúdo real do arquivo e deixar metadados sozinhos para arquivos que são os mesmos, ou alguns existentes solução diferente de rsync?

    
por kdb 29.07.2013 / 16:05

1 resposta

1

Na página do manual do rsync:

-c, --checksum : skip based on checksum, not mod-time & size

    
por 04.08.2013 / 12:49