我在远程计算机上有一个配置文件,格式为:
key1={{key1}}
key2={{key2}}
我想使用Ansible使用group_vars中的值填充键的值。
如何读取此文件,插入内容并将文件写回?
我不想使用模板,因为不同的配置文件会有不同的密钥,而我对模板的理解是我必须事先知道我需要哪些密钥。
答案 0 :(得分:1)
你在这里(但我不认为你应该如何管理系统):
---
- hosts: target
vars:
key1: "value1"
key2: "value2"
tasks:
- command: cat /path/to/file
register: cat_file
- copy:
content: "{{ cat_file.stdout }}\n"
dest: /path/to/file
尾部换行符存在问题,而stdout
中cat
未反映此问题。我认为应该加上它。
可替换地:
---
- hosts: target
vars:
key1: "value1"
key2: "value2"
tasks:
- fetch:
src: /path/to/file
dest: ./tmp/file
- template:
src: ./tmp/file
dest: /path/to/file