ansible.builtin.fetch – Выгрузка файлов с удалённых узлов
Примечание
Этот модуль входит в ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля fetch даже без указания collections: ключевого слова. Несмотря на это, мы рекомендуем использовать FQCN для удобной ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новый в версии 0.2: of ansible.builtin
Обзор
- Этот модуль работает как ansible.builtin.copy, но в обратном порядке.
- Он используется для выгрузки файлов с удалённых машин и сохранения их локально в файловой структуре, организованной по имени хоста.
- Файлы, которые уже существуют в dest, будут перезаписаны, если они отличаются от src.
- Этот модуль также поддерживается для целевых систем Windows.
Примечание
Этот модуль имеет соответствующий плагин действия.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| dest строка / обязательно | Директория для сохранения файла. Например, если директория dest равна /backup, а файл src с именем /etc/profile на хосте host.example.com, будет сохранён в /backup/host.example.com/etc/profile. Имя хоста основано на имени инвентаризации. | |
| fail_on_missing логическое добавлен в 1.1 of ansible.builtin |
| Если установлено yes, задача завершится неудачей, если удалённый файл по какой-либо причине не может быть прочитан.До Ansible 2.5, это значение вызывало ошибку только в случае отсутствия исходного файла. По умолчанию было изменено на yes в Ansible 2.5. |
| flat логическое добавлен в 1.2 of ansible.builtin |
| Позволяет переопределить поведение по умолчанию, добавляя имя хоста/путь/к/файлу в пункт назначения. Если dest оканчивается на '/', будет использовано имя файла без пути, аналогично модулю copy.Это может быть полезно при работе с одним хостом или при извлечении файлов, имеющих уникальное имя для каждого хоста. Если используется несколько хостов с одним и тем же именем файла, файл будет перезаписан для каждого хоста. |
| src строка / обязательно | Файл на удалённой системе, который нужно загрузить. Это обязательно должен быть файл, а не директория. Рекурсивное извлечение может быть поддержано в будущих версиях. | |
| validate_checksum логическое добавлен в 1.4 of ansible.builtin |
| Проверка соответствия контрольных сумм исходного и целевого файлов после загрузки. |
Примечания
Примечание
- При запуске fetch с
become, модуль ansible.builtin.slurp также будет использован для получения содержимого файла для определения контрольной суммы удалённого файла. Это фактически удваивает размер передачи, а в зависимости от размера файла может потреблять весь доступный объём памяти на удалённых или локальных хостах, вызываяMemoryError. По этой причине рекомендуется запускать этот модуль безbecomeпо возможности. - До Ansible 2.5 этот модуль не завершался ошибкой, если чтение удалённого файла было невозможно, если не было установлено
fail_on_missing. - В Ansible 2.5 и новее авторам плейбуков рекомендуется использовать
fail_whenилиignore_errors, чтобы получить эту возможность. Они также могут явно установитьfail_on_missingнаno, чтобы получить поведение без ошибок. - Этот модуль также поддерживается для целевых систем Windows.
- Поддерживает
check_mode.
См. также
См. также
- ansible.builtin.copy
-
Официальная документация модуля ansible.builtin.copy.
- ansible.builtin.slurp
-
Официальная документация модуля ansible.builtin.slurp.
Примеры
- name: Store file into /tmp/fetched/host.example.com/tmp/somefile
ansible.builtin.fetch:
src: /tmp/somefile
dest: /tmp/fetched
- name: Specifying a path directly
ansible.builtin.fetch:
src: /tmp/somefile
dest: /tmp/prefix-{{ inventory_hostname }}
flat: yes
- name: Specifying a destination path
ansible.builtin.fetch:
src: /tmp/uniquefile
dest: /tmp/special/
flat: yes
- name: Storing in a path relative to the playbook
ansible.builtin.fetch:
src: /tmp/uniquefile
dest: special/prefix-{{ inventory_hostname }}
flat: yes
Авторы
- Команда Ansible Core
- Michael DeHaan
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/fetch_module.html