Em relação a --update
, a página do manual do rsync é muito clara:
-u, --update: skip files that are newer on the receiver
. This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file. (If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different.)
Sem essa opção, um arquivo antigo no src pode sobrescrever um arquivo mais novo no dst. Usando essa opção, você tem certeza de que os arquivos mais novos nunca serão sobrescritos pela versão anterior.
Para seu segundo problema, simplesmente evite usar --link-desk
. O ponto inteiro desta opção é ter uma completa árvore de diretórios / arquivos sem ter que pagar o espaço de uma cópia completa e verdadeira. Se você não quer uma árvore completa a cada vez, mas você só quer ver os arquivos / pastas alterados, evite usar --link-desk
Além disso, para maior eficiência no processo de transferência de arquivos, você pode usar --compare-dest
:
--compare-dest=DIR
This option instructs rsync to use DIR on the destination machine as an additional hierarchy to compare destination files against doing transfers (if the files are missing in the destination directory). If a file is found in DIR that is identical to the sender's file, the file will NOT be transferred to the destination directory. This is useful for creating a sparse backup of just files that have changed from an earlier backup.