对于尚未安装 Python、或者操作系统 (OS) 太旧、Python 版本太旧、或者是一种嵌入式系统的 Remonte 节点,可以通过
raw
来管理它们
模块 – 执行低级且肮脏的命令 或 script
模块 – 传输后在远程节点上运行本地脚本。请参阅示例 确保远程系统已正确初始化 ...
fetch
模块 – 从远程节点获取文件 或 slurp
模块 – 从远程节点获取文件,特别对小配置文件感兴趣?
这些文件应成为相关项目文件夹的一部分,稍后用于所需状态配置,并与版本控制系统和源代码存储库同步。
根据远程系统的功能以及(配置)文件的大小,可能可以使用
fetch
模块中的方法,获取包含数据的base64编码的blob,注册内容 并通过 copy
模块将其写出 – 将文件复制到远程位置 - 参数: content
.
以下最小示例剧本展示了如何实现这样的
raw_slurp.yml
---
- hosts: test
become: true
gather_facts: false
vars:
PATH: /etc
FILE: sudoers
tasks:
- name: Slurps a small config file from Remote Nodes
raw: "base64 {{ PATH }}/{{ FILE }}"
register: content
- name: Write out on Control Node
delegate_to: localhost
copy:
content: "{{ content.stdout | b64decode }}"
dest: "files/group_files/test/{{ inventory_hostname }}.{{ FILE }}"
在项目文件夹结构下的控制节点上生成请求的文件,准备与 (Git) 存储库同步。