fetch – Fetches a file from remote nodes
Synopsis
- Этот модуль работает как copy, но в обратном порядке. Он используется для извлечения файлов с удалённых машин и сохранения их локально в файловой структуре, организованной по имени хоста.
- Этот модуль также поддерживается для целей Windows.
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| dest - / required | Директория для сохранения файла. Например, если директория 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 |
| Позволяет переопределить стандартное поведение, добавляя hostname/path/to/file в конечную директорию. Если dest заканчивается на '/', он будет использовать имя файла из исходного, аналогично модулю copy. Очевидно, это полезно только если имена файлов уникальны. |
| src - / required | Файл на удалённой системе, который нужно извлечь. Это обязательно должен быть файл, а не директория. Возможность рекурсивного извлечения будет добавлена в будущих версиях. | |
| validate_checksum boolean added in 1.4 |
| Проверка соответствия контрольных сумм исходного и конечного файлов после извлечения файлов. aliases: validate_md5 |
Notes
Примечание
- При выполнении fetch с
become, модуль slurp также будет использован для извлечения содержимого файла для определения удалённой контрольной суммы. Это фактически удваивает размер передачи и, в зависимости от размера файла, может заполнить всю доступную память на удалённом или локальном хосте, вызвавMemoryError. По этой причине рекомендуется запускать этот модуль безbecomeвсякий раз, когда это возможно. - До Ansible-2.5 этот модуль не завершался ошибкой, если чтение удалённого файла было невозможно, если не было установлено значение fail_on_missing. В Ansible-2.5+ авторам playbook'ов рекомендуется использовать fail_when или ignore_errors, чтобы получить эту возможность. Они также могут явно установить fail_on_missing в False, чтобы получить поведение без ошибок.
- Этот модуль также поддерживается для целей Windows.
Examples
# Store file into /tmp/fetched/host.example.com/tmp/somefile
- fetch:
src: /tmp/somefile
dest: /tmp/fetched
# Specifying a path directly
- fetch:
src: /tmp/somefile
dest: /tmp/prefix-{{ inventory_hostname }}
flat: yes
# Specifying a destination path
- fetch:
src: /tmp/uniquefile
dest: /tmp/special/
flat: yes
# Storing in a path relative to the playbook
- fetch:
src: /tmp/uniquefile
dest: special/prefix-{{ inventory_hostname }}
flat: yes
Status
- Этот модуль гарантированно не будет иметь обратных несовместимых изменений интерфейса в будущем. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Red Hat Support
Более подробная информация о поддержке этого модуля Red Hat доступна в этой статье базы знаний Red Hat.
Authors
- Команда 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.7/modules/fetch_module.html