A melhor opção seria provavelmente usar o módulo synchronize
.
synchronize is a wrapper around the rsync command, meant to make common tasks with rsync easier.
Considerando que o módulo copy
copia arquivos usando Python e é limitado em sua funcionalidade. Há uma nota no
copiar a documentação do módulo :
The “copy” module recursively copy facility does not scale to lots (>hundreds) of files. For alternative, see synchronize module, which is a wrapper around rsync.
Com o módulo synchronize
é possível passar exclude
padrões via rsync_opts
para o comando rsync
sendo executado pelo Ansible.
# Synchronize passing in extra rsync options
synchronize:
src: /tmp/helloworld
dest: /var/www/helloword
rsync_opts:
- "--exclude=.git"
Mas o módulo synchronize
tem algumas advertências . Como o requisito de rsync
instalado na máquina local e remota. É por isso que eu não usaria quando não fosse necessário.