• 生活的道路一旦选定,就要勇敢地走到底,决不回头。——左拉
  • 坚强的信心,能使平凡的人做出惊人的事业。——马尔顿
  • 人不可有傲气,但不可无傲骨。 --徐悲鸿
  • 古之立大志者,不惟有超世之才,亦必有坚韧不拔之志。 --苏轼
  • 时间像海绵里的水,只要你愿意挤,总还是有的。 --鲁迅

ansible 之 fetch

技术交流 zkinogg 4个月前 (12-03) 88次浏览 0个评论

Fetch 模块

用途:用于从 远程主机 中拷贝文件到 管理主机

注意:不能拷贝目录

官方文档

[root@ansible ~]# ansible-doc fetch   
> FETCH    (/usr/lib/python2.7/site-packages/ansible-2.8.0.dev0-py2.7.egg/ansible/modules/files/fetch.py)

        This module works like [copy], but in reverse. It is used for fetching files from remote machines and storing them locally in a file tree, organized by hostname.
        This module is also supported for Windows targets.

  * This module is maintained by The Ansible Core Team
  * note: This module has a corresponding action plugin.

OPTIONS (= is mandatory):

= dest
        A directory to save the file into.
        For example, if the `dest' directory is `/backup' a `src' file named `/etc/profile' on host `host.example.com', would be saved into
        `/backup/host.example.com/etc/profile'.


- fail_on_missing
        When set to `yes', the task will fail if the remote file cannot be read for any reason.
        Prior to Ansible 2.5, setting this would only fail if the source file was missing.
        The default was changed to `yes' in Ansible 2.5.
        [Default: True]
        type: bool
        version_added: 1.1

- flat
        Allows you to override the default behavior of appending hostname/path/to/file to the destination.
        If `dest' ends with '/', it will use the basename of the source file, similar to the copy module.
        Obviously this is only handy if the filenames are unique.
        [Default: False]
        type: bool
        version_added: 1.2

= src
        The file on the remote system to fetch.
        This `must' be a file, not a directory.
        Recursive fetching may be supported in a later release.


- validate_checksum
        Verify that the source and destination checksums match after the files are fetched.
        [Default: True]
        type: bool
        version_added: 1.4


NOTES:
      * When running fetch with `become', the [slurp] module will also be used to fetch the contents of the file for determining the remote checksum. This effectively
        doubles the transfer size, and depending on the file size can consume all available memory on the remote or local hosts causing a `MemoryError'. Due to this
        it is advisable to run this module without `become' whenever possible.
      * Prior to Ansible 2.5 this module would not fail if reading the remote file was impossible unless `fail_on_missing' was set.
      * In Ansible 2.5 or later, playbook authors are encouraged to use `fail_when' or `ignore_errors' to get this ability. They may also explicitly set
        `fail_on_missing' to `no' to get the non-failing behaviour.
      * This module is also supported for Windows targets.

AUTHOR: Ansible Core Team, Michael DeHaan
        METADATA:
          status:
          - stableinterface
          supported_by: core
        

EXAMPLES:
- 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

参数解析

  • src

从远程主机上获取的文件,必须是文件,不能为目录,例如:/etc/profile

  • dest

保存文件的目录。即从远程主机 中获取到文件后,存放 于管理主机 的目录。
例如: dest的目录为 /backupsrc的文件问 /etc/profile,在主机清单文件中(默认为/etc/ansible/hosts)该主机的名称为host.example.com,则文件拷贝到 控制主机 后,目录为/backup/host.example.com/etc/profile

  • fail_on_missing

类型:bool
默认值:True
当设置为 True 或 yes,如果由于不明因素导致从远程主机中不能读取到该文件,则会显示 fail

  • validate_checksum

类型:bool
默认值:True

控制主机获取到文件后,确认源文件与获取到的文件的 checksums 是否一致

  • flat

类型: bool
默认值:false

允许覆盖将hostname/path/to/file附加到目标的默认行为。


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ansible 之 fetch
喜欢 (0)
[17551054905]
分享 (0)

您必须 登录 才能发表评论!