fetch – Извлечение файлов с удалённых узлов
Описание
- Этот модуль работает как copy, но в обратном порядке.
- Он используется для извлечения файлов с удалённых компьютеров и сохранения их локально в файловой структуре, организованной по имени хоста.
- Файлы, которые уже существуют в dest, будут перезаписаны, если они отличаются от src.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| dest - / обязательно | Каталог для сохранения файла. Например, если каталог dest равен /backup, а файл src с именем /etc/profile на хосте host.example.com, будет сохранён в /backup/host.example.com/etc/profile. Имя хоста основано на имени инвентаризации. | |
| fail_on_missing boolean |
| Если установлено значение yes, задача завершится ошибкой, если удалённый файл не может быть прочитан по какой-либо причине.Прежде чем Ansible 2.5, это значение вызывало ошибку только в случае отсутствия исходного файла. Значение по умолчанию было изменено на yes в Ansible 2.5. |
| flat boolean |
| Позволяет переопределить поведение по умолчанию, добавляя имя хоста/путь/имя файла к пункту назначения. Если dest заканчивается на '/', будет использовано имя файла исходного файла, аналогично модулю copy.Это может быть полезно при работе с одним хостом или при извлечении файлов, имеющих уникальные имена для каждого хоста. Если используется несколько хостов с одинаковым именем файла, файл будет перезаписан для каждого хоста. |
| src - / обязательно | Файл на удалённой системе для извлечения. Это должен быть файл, а не каталог. Рекурсивное извлечение может быть поддержано в более поздней версии. | |
| validate_checksum boolean |
| Проверить соответствие контрольных сумм исходного и целевого файлов после извлечения файлов. |
Примечания
Примечание
- При выполнении fetch с
become, модуль slurp также будет использоваться для извлечения содержимого файла для определения удалённой контрольной суммы. Это фактически удваивает размер передачи и, в зависимости от размера файла, может использовать всю доступную память на удалённых или локальных хостах, вызываяMemoryError. По этой причине рекомендуется запускать этот модуль безbecomeпо возможности. - Прежде чем Ansible 2.5, этот модуль не завершался ошибкой, если чтение удалённого файла было невозможно, если не было установлено
fail_on_missing. - В Ansible 2.5 или более поздних версиях авторы playbooks должны использовать
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]
Поддержка Red Hat
Дополнительную информацию о поддержке модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Команда разработчиков Ansible
- 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.9/modules/fetch_module.html