Você pode usar:
rync -av --include='*.jar' --exclude'*' --delete sourcedir/ destdir/
A opção -a
é o modo de arquivo, preserva os links e carimbos de data e hora (verifique o man
para uma explicação completa.) O -v
é para verbosidade, remova se você não se importa com logs.
Isso deve lidar com suas três primeiras opções. A opção --delete
cuidará do seu quarto requisito ao ignorar arquivos excluídos.
Se você deseja incluir diretórios que contenham arquivos .jar
, você pode usar
rync -av --include='*.jar' --include='*/' --exclude'*' --delete sourcedir/ destdir/
Com base na resposta localizada aqui, se você tiver outras dúvidas, ele deverá ajudá-lo: Filtro Rsync: copiando somente um padrão