使用 Ansible 复制目录内容(不替换目标文件)

使用 Ansible 复制目录内容(不替换目标文件)

下面有一个目录,/var/test1内容如下:

.
..
.git
.gitignore
file1
file2

并且我想将其复制到/var/test2具有预先存在的内容的其他位置:

.
..
file1

如果我使用 Ansible copy

- copy:
  # note the trailing `/` at `src: /var/test1/` in order to copy the contents
  src: /var/test1/
  dest: /var/test2

它将file1取代/var/test2

如何复制目录内容而不替换目标文件?

答案1

默认情况下,ansible 强制覆盖,也许禁用它会对你的情况有所帮助(force=no)。

答案2

你可能想使用同步_模块. 它有delete选项:

删除目标路径中不存在的文件(传输后,而不是传输前)。此选项要求 recursive=yes。

- synchronize:
   src: /var/test1
   dest: /var/test2
   recursive: True
   delete: False

相关内容