
Eu tenho um script que busca rsync
arquivos de um servidor remoto e os processa. Essas cópias locais não são excluídas entre as execuções, portanto, rsync
basta buscarnovoarquivos. No entanto, parece que rsync
todos os arquivos estão sendo baixados todas as vezes, mesmo quando nem a cópia local em cache nem a cópia do servidor foram alteradas, e posso descobrir o porquê.
Existe algum argumento de linha de comando rsync
que me ajudará a diagnosticar por que um determinado arquivo está ou não sendo copiado nesta execução? Eu tentei -v
, mas não parece me dar as informações que preciso. Algo como:
> rsync --diagnose-why-files-copied remotehost:/remote/path ./local/path/
'remotehost:/remote/path/file1':
Destination file './local/path/file1' does not exist; copying.
'remotehost:/remote/path/file2':
Destination file './local/path/file2' exists...
Destination file size does not match source file size; copying.
'remotehost:/remote/path/file3':
Destination file './local/path/file3' exists...
File sizes match...
Destination file modification date does not match source file modification date; copying.
'remotehost:/remote/path/file4':
Destination file './local/path/file4' exists...
File sizes match...
File modification dates match...
No change detected; skipping.
> rsync -c --diagnose-why-files-copied remotehost:/remote/path2 ./local/path2/
'remotehost:/remote/path2/file1':
Destination file './local/path2/file1' does not exist; copying.
'remotehost:/remote/path2/file2':
Destination file './local/path2/file2' exists...
Destination file checksum does not match source file checksum; copying.
'remotehost:/remote/path2/file3':
Destination file './local/path2/file3' exists...
File checksums match...
No change detected; skipping.
Responder1
-ii
é o que eu estava procurando. A --itemize-changes
opção, abreviada -i
, faz com que seja impressa uma mensagem de diagnóstico para cada arquivo que foi atualizado ou alterado identificando o que foi feito com ele e por quê. Especificar a opção duas vezes faz com que ela também imprima a mensagem para arquivos que não foram alterados.