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