Ansible

如何在Ansible中複製除一個之外的所有孩子?

  • August 18, 2021

文件解釋瞭如何使用copyAnsible 中的模組複製文件和目錄。如何複製除一個之外的所有孩子?

討論

  1. 這些選項沒有說明如何完成。
  2. 單獨複製所有子代不是一個選項,因為父代包含超過 100 個子代。

最好的選擇可能是使用該synchronize模組。

synchronize 是 rsync 命令的包裝器,旨在使 rsync 的常見任務更容易。

而該copy模組使用 Python 複製文件並且其功能受到限制。複製模組文件中有一條註釋 :

“複製”模組遞歸複製工具不能擴展到大量(>數百)文件。對於替代方案,請參閱同步模組,它是 rsync 的包裝器。

使用該synchronize模組,可以將exclude模式傳遞rsync_optsrsyncAnsible 正在執行的命令。

# Synchronize passing in extra rsync options
synchronize:
   src: /tmp/helloworld
   dest: /var/www/helloword
   rsync_opts:
     - "--exclude=.git"

但該synchronize模組有一些注意事項。就像rsync安裝在本地和遠端機器上的要求一樣。這就是為什麼我在不需要時不會使用它的原因。

引用自:https://serverfault.com/questions/801840