我希望能够使用Ansible剧本替换文件的全部内容。
我已经写了这段代码,但是通配符的使用似乎是错误的方法。
---
- hosts: my_hosts
tasks:
- name: Replace the content of my file
lineinfile:
path: /home/user-ansible/test/conf
regexp: "*"
line: "{{ lookup('file', '/home/ansible/config/conf') }}"
答案 0 :(得分:1)
要替换目标服务器(dest
)上文件的内容并确保其始终与源文件(src
)对齐,请使用copy
module
---
- name: Demo play to copy file
hosts: my_hosts
tasks:
- name: Replace the content of my file
copy:
src: /home/user-ansible/test/conf
dest: /home/ansible/config/conf
附加说明:您发布的剧本中存在Yaml缩进问题,将来可能会引起问题。请take Y minutes to learn yaml,并注意缩进和换行符。在发布之前,您可以使用yamllint和ansible-lint来验证您的剧本