我需要删除文件主机中的所有字符串,并在字符串“ 127.0.0.1 localhost”之后添加一行。
我尝试使用after替换模块,但是我不明白我需要在“ after”中放置什么内容:
- name: Add new hostname after 127.0.0.1 localhost and remove old lines
replace:
path: /etc/hosts
regexp: '^(\S+)(\s+)localhost\.domain\.com(\s+.*)?$'
replace: '{{ new_hostname }}'
after: ''
答案 0 :(得分:1)
使用template
会更好例如模板hosts.j2
127.0.0.1 localhost
{% for item in my_hosts %}
{{ item }}
{% endfor %}
带有剧本
- hosts: localhost
vars:
my_hosts:
- 10.1.0.1 ac1.example.com ac1
- 10.1.0.2 ac2.example.com ac2
- 10.1.0.3 ac3.example.com ac3
tasks:
- template:
src: hosts.j2
dest: /etc/hosts
给予
> cat /etc/hosts
127.0.0.1 localhost
10.1.0.1 ac1.example.com ac1
10.1.0.2 ac2.example.com ac2
10.1.0.3 ac3.example.com ac3