Ansible: копирование содержимого каталога в место

79
12

Я готов передать содержимое папки, распакованной из источника, скажем, myfolder в dest_dir say dest_dir но, судя по всему, все, что я пытаюсь переместить/копировать/создает myfolder в местоположении dest_dir.

Я старался

command: mv src dest_dir

Я также попробовал dest_dir местоположении dest_dir используя,

unarchive:
src: /path/to/myfolder
dest: dest_dir
copy: no
become: yes

По-видимому, для модуля copy я обнаружил, что remote_src еще не поддерживает рекурсивное копирование.

Каков правильный способ этого?

Обычно в моей системе я делал mv/path/to/myfolder/* dest_dir но подстановочные знаки mv/path/to/myfolder/* dest_dir ошибку с Ansible.

Я использую Ansible 2.3.2.

спросил(а) 2017-11-02T10:54:00+03:00 2 года, 8 месяцев назад
1
Решение
55

Причина, по которой вы не можете легко сделать это в Ansible, заключается в том, что Ansible не был предназначен для этого.

Просто выполните команду непосредственно с помощью модуля shell. В любом случае, ваше требование не является идемпотентным:

- shell: mv /path/to/myfolder/* dest_dir
become: yes

Обратите внимание на значения mv умолчанию, вы можете добавить -f чтобы он не -f подтверждение.

В противном случае играйте с synchronize модулем, но нет никакой добавленной стоимости для операции "переместить". Просто сложность.

ответил(а) 2017-11-02T11:13:00+03:00 2 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема