Назад | Перейти на главную страницу

Скопируйте содержимое каталога с помощью 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

Как я могу скопировать содержимое каталога, не заменяя файлы в месте назначения?

по умолчанию ansible принудительно перезаписывает, возможно, его отключение поможет вашему делу (force = no).

Вы, вероятно, захотите использовать synchronize_module. Оно имеет delete вариант:

Удалите файлы в dest, которые не существуют (после передачи, но не до) в пути src. Эта опция требует рекурсивного = да.

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