Existe a opção -i para o rsync, que representa --itemize-changes . Manual para rsync está dizendo que ele irá "produzir um resumo de alterações para todas as atualizações" .
Ele mostrará quais arquivos e diretórios foram alterados e, portanto, transferidos para o diretório de destino do diretório de origem. Ele também mostrará por que o rsync assumiu que o arquivo foi alterado, por exemplo, se o tamanho do arquivo de origem for diferente do arquivo de destino ou se o timestamp for diferente, ou talvez apenas permissões.
Aqui está um exemplo. Eu criei directory1 e directory2 . Ambos contêm o arquivo chamado textfile e ambos os arquivos têm apenas a letra "A" dentro. Mas o arquivo no diretório1 possui um registro de data e hora diferente. Então, executar rsync -ahzi directory1/ directory2/ me dá:
.d..t...... ./
>f..t...... textfile
> significa que o arquivo foi transferido para o destino local porque era diferente (se você rsync arquivos para 192.168.1.100:/some/directory por exemplo, você veria < , porque, em seguida, seria um destino remoto). f significa "arquivo" e t significa que o registro de data e hora desse arquivo foi diferente.
Agora, e se o conteúdo do arquivo também tiver sido alterado? Eu editei o textfile no diretório1, então ele contém as letras "AB". Então eu executei rsync -ahzi directory1/ directory2/ :
.d..t...... ./
>f.st...... textfile
Há > nos mostrando que os arquivos foram transferidos para o destino porque eram diferentes. Há s informando que o tamanho do arquivo era diferente e t nos dizendo que o registro de data e hora também era diferente.
Outros "flags" que você pode ver nessa saída incluem:
p - Permission are different
o - Owner is different
g - Group is different
a - The ACL information changed
Minha fonte na qual recebi explicações sobre todas essas sinalizações: link