Использование модуля копирования Ansible для удаленной передачи файлов (тот же удаленный хост)

Я пытаюсь переместить все файлы из определенного удаленного каталога в другой удаленный каталог — на том же удаленном хосте — с помощью модуля копирования Ansible.

Каталог и файлы существуют на удаленном хосте, и я подумал, что буду использовать модуль копирования Ansible с remote_src: yes, чтобы добиться этого.

Однако до сих пор я сталкивался с непредвиденными проблемами с этим подходом - любая помощь приветствуется, спасибо!!

Задача беспокойства

- name: copy remote to remote (same host)
  copy:
    src: "{{ item }}"
    dest: "{{ dir_base_path }}/go/to/my/nested/path"
    remote_src: yes
    owner: "{{ owner }}"
    group: "{{ group }}"
    mode: preserve
  with_fileglob:
    - "{{ dir_base_path }}/stay/at/parent_dir/*"
  when: status.changed and dir.stat.exists

Структура удаленного каталога

--> parent path
   -- all-the-files-I-need
   --`nested_directory
      -- need-to-copy-files here

Обнаружена ошибка

TASK [playbook: copy remote to remote (same host)] ****************************************************************************************
 [WARNING]: Unable to find 'base_path/stay/at/parent_dir/' in expected paths (use -vvvvv to see paths)

Информация о версии

ansible --version
ansible 2.7.10
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0]
Введение в Ansible Roles
Введение в Ansible Roles
Ansible - это отличный инструмент управления конфигурацией, который можно использовать для автоматизации настройки или развертывания на большом...
0
0
863
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно документации для fileglob — сопоставление с локальными системными файлами на контроллере Ansible. Чтобы просмотреть список файлов на удаленном узле, используйте модуль find. См.: https://docs.ansible.com/ansible/latest/plugins/lookup/fileglob.html

Вы можете сначала использовать команду find, чтобы найти файлы, а затем сохранить с помощью регистра, а затем скопировать эти файлы.

Спасибо! проголосовал бы, если бы у меня была необходимая статистика :(

nauf 03.06.2019 20:40

Другие вопросы по теме