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