ansible fetch 模块

ansible fetch 模块

概要

  • 该模块的工作方式与copy类似,但相反。
  • 它用于从远程机器获取文件并将它们本地存储在按主机名组织的文件树中。
  • 如果dest中已经存在的文件与src不同,它们将被覆盖。
  • Windows 目标也支持此模块。

参数

parameterchoices/defaultscomments
dest保存文件的目录。例如,如果dest目录是/backup,则主机host.example.com上名为/etc/profile的src文件将被保存到/backup/host.example.com/etc/profile。主机名以库存名称为准
fail_on_missingyes or no,默认为yes当设置为yes时,如果由于任何原因无法读取远程文件,则任务将失败。
flatyes or no,默认no允许您覆盖将主机名/path/to/文件追加到目标的默认行为。如果dest以’/'结尾,它将使用源文件的基名,类似于copy模块。如果使用单个主机,或者检索每个主机唯一命名的文件,这可能很有用。如果使用多个具有相同文件名的主机,则每个主机的文件将被覆盖。
src要在远程系统上获取的文件。这必须是一个文件,而不是目录。在以后的版本中可能会支持递归抓取。
validate_checksumyes or no,默认yes在获取文件之后,验证源和目标校验和是否匹配。

笔记

  • 当运行 fetch withbecome时,slurp模块也将用于获取文件的内容以确定远程校验和。这有效地使传输大小加倍,并且根据文件大小可能会消耗远程或本地主机上的所有可用内存,从而导致MemoryError. 因此,建议become尽可能不运行此模块。
  • 在 Ansible 2.5 之前,如果无法读取远程文件,则此模块不会失败,除非fail_on_missing已设置。
  • 在 Ansible 2.5 或更高版本中,鼓励剧本作者使用fail_whenignore_errors获得此功能。他们也可以明确设置fail_on_missingno获得非失败行为。
  • Windows 目标也支持此模块。

例子

- 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
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值