使用Ansible将多个注册变量保存到文件

时间:2019-03-01 20:56:19

标签: ansible

如何使用Ansible将多个注册变量保存到文件中?

目标: 我想从各种命令中收集信息并保存结果

我的剧本看起来像这样:

collections.OrderedDict

但是/tmp/swap_info.txt仅包含最后一个注册的变量,即smem_usage信息。

2 个答案:

答案 0 :(得分:0)

一种选择是使用template

- template:
    src: swap_info.txt.j2
    dest: /tmp/swap_info.txt

# cat swap_info.txt.j2
{{ process_name }}
{{ sar_output }}
{{ smem_usage }}

答案 1 :(得分:0)

Lineinfile模块可以做到:

---
- hosts: localhost
  tasks:
  - name: Test
    lineinfile:
      path: ./test.txt
      line: "Hello {{ item }}"
      create: true
    with_items:
      - "Test 1"
      - "Test 2"
      - "Test 3"