当前位置: 首页 > news >正文

Ansible——fetch模块

目录

参数 

示例1:最基本的用法

示例2:指定目标目录和主机名子目录

示例3:flat 参数设置为 yes

示例4:处理源文件不存在的情况

示例5:验证文件校验和

示例 Playbook

1. 拉取远程主机上的 syslog 文件

2. 直接保存文件到指定路径

3. 处理源文件不存在的情况

4. 递归拉取目录中的文件


 

fetch 模块是 Ansible 中用于从远程主机获取文件并将其复制到控制节点的模块。它的主要作用是从远程主机拉取文件,以供后续处理或分析。

参数 

  • src:

    • 描述:远程主机上要拉取的文件路径。
    • 类型:字符串
    • 必需:是
  • dest:

    • 描述:控制节点上保存文件的目标路径。
    • 类型:字符串
    • 必需:是
  • flat:

    • 描述:如果为 yes,则将所有文件都拉取到一个目录下。
    • 类型:布尔值
    • 默认值:no
  • validate_checksum:

    • 描述:如果为 yes,则在文件传输完成后验证文件的校验和。
    • 类型:布尔值
    • 默认值:no
  • remote_src:

    • 描述:如果为 yes,则从远程主机的路径拉取文件,否则从本地主机拉取文件。
    • 类型:布尔值
    • 默认值:yes
  • fail_on_missing:

    • 描述:如果为 yes,则在源文件不存在时终止任务。
    • 类型:布尔值
    • 默认值:yes

示例1:最基本的用法

从远程主机上拉取 /var/log/syslog 文件,并保存到本地 /tmp 目录中:

ansible all -m fetch -a "src=/var/log/syslog dest=/tmp"

示例2:指定目标目录和主机名子目录

从远程主机拉取 /var/log/syslog 文件,并保存到本地 /tmp/hostname/var/log/syslog 路径中,其中 hostname 是远程主机名:

ansible all -m fetch -a "src=/var/log/syslog dest=/tmp"

示例3:flat 参数设置为 yes

直接保存文件到 /tmp 目录中,而不创建主机名子目录:

ansible all -m fetch -a "src=/var/log/syslog dest=/tmp/syslog flat=yes"

示例4:处理源文件不存在的情况

如果文件不存在,不会失败:

ansible all -m fetch -a "src=/var/log/nonexistentfile dest=/tmp/nonexistentfile fail_on_missing=no"

示例5:验证文件校验和

在传输过程中验证文件校验和:

ansible all -m fetch -a "src=/var/log/syslog dest=/tmp/syslog validate_checksum=yes"

示例 Playbook

1. 拉取远程主机上的 syslog 文件
- name: Fetch syslog file from remote hostsfetch:src: /var/log/syslogdest: /tmp/logsflat: nofail_on_missing: yesvalidate_checksum: yes

这个任务将从所有远程主机中拉取/var/log/syslog文件,并保存到本地/tmp/logs目录中。如果文件不存在,将会失败。并且拉取时验证文件的校验和。

2. 直接保存文件到指定路径
- name: Fetch file directly to dest without creating subdirectoriesfetch:src: /var/log/syslogdest: /tmp/syslogflat: yes

这个任务直接拉取/var/log/syslog文件并保存到/tmp/syslog路径,而不会创建主机名子目录。

3. 处理源文件不存在的情况
- name: Fetch file and handle missing file gracefullyfetch:src: /var/log/nonexistentfiledest: /tmp/nonexistentfilefail_on_missing: no

这个任务试图拉取一个不存在的文件/var/log/nonexistentfile,如果文件不存在,则不会失败。

4. 递归拉取目录中的文件
- name: Fetch directory with recursive fetchingfetch:src: /var/log/dest: /tmp/varlogsflat: novalidate_checksum: no

这个任务将递归地拉取/var/log/目录中的所有文件,并保存到本地/tmp/varlogs目录下,不验证校验和。

http://www.lryc.cn/news/368820.html

相关文章:

  • HTTP常见响应状态码
  • 如何制定工程战略
  • 认识和使用 Vite 环境变量配置,优化定制化开发体验
  • Java18新特性总结
  • 理解 Java 中的 `final` 关键字
  • 磁盘未格式化:深度解析、恢复方案及预防之道
  • JWT 从入门到精通
  • 31-捕获异常(NoSuchElementException)
  • 使用Spring Boot设计对象存储系统
  • Apple开发者macOS设备与描述文件Profile创建完整过程
  • SpringBootWeb 篇-深入了解 Redis 五种类型命令与如何在 Java 中操作 Redis
  • mysql设置允许外部ip访问,局域网IP访问
  • mac虚拟光驱工具:Daemon Tools for Mac
  • 软考 系统架构设计师系列知识点之杂项集萃(32)
  • Web--CSS基础
  • 服务部署:Linux系统部署C# .NET项目
  • 【机器学习】基于卷积LSTM的视频预测
  • 细说wayland和X11
  • 数据结构:二叉树的实现
  • Helm离线部署Rancher2.7.10
  • Linux目录的作用和常用指令
  • Nvidia/算能 +FPGA+AI大算力边缘计算盒子:隧道和矿井绘图设备
  • MySQL物理备份
  • AWT常用组件
  • CorelDRAW2024破解激活码序列号一步到位
  • Webpack前端打包工具详解
  • 计网总结☞网络层
  • 【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)
  • 网络安全难学吗?2024该怎么系统学习网络安全?
  • 2 程序的灵魂—算法-2.4 怎样表示一个算法-2.4.6 用计算机语言表示算法