Você pode listar arquivos modificados usando rsync
:
rsync -rnc --log-format='%f' new_dir/ old_dir/
-
-r
significa recursivo -
-n
significa executar uma execução de teste (sinônimo para --dry-run) -
-c
diz ao rsync para comparar o arquivo dependendo de sua soma de verificação -
--log-format='%f'
nos fornece nomes de arquivos (formato longo)
Isso lhe dará a lista de arquivos modificados em new_dir /
Você só precisa fornecer essa lista para zip
:
zip patch.zip 'rsync -rnc --log-format='%f' new/ old/'
Observação se você fornecer o caminho completo ( /path/to/new/dir/
) usando o formato de nome longo ( %f
), rsync
retornará uma linha adicional ( /path/to/new/dir/.
). Se você usar o formato de nome abreviado ( %n
), rsync
não retornará esta linha.