Você pode usar a opção --itemize-changes
( -i
) do rsync para gerar uma saída analisável semelhante a esta:
~ $ rsync src/ dest/ -ai
.d..t.... ./
>f+++++++ newfile
>f..t.... oldfile
~ $ echo 'new stuff' > src/newfile
~ $ !rsync
rsync src/ dest/ -ai
>f.st.... newfile
O caractere >
na primeira posição indica que um arquivo foi atualizado, os caracteres restantes indicam por que, por exemplo, aqui s
e t
indicam que o tamanho do arquivo e o registro de data e hora foram alterados.
Uma maneira rápida e suja de obter a lista de arquivos pode ser:
rsync -ai src/ dest/ | egrep '^>'
Obviamente, uma análise mais avançada poderia produzir uma saída mais limpa: -)
Me deparei com esse ótimo link enquanto tentava descobrir quando o --itemize-changes
foi introduzido, muito útil:
link (link arquivado)