2016-11-24 68 views
0

我是新来的ansible。替换一个配置文件中的一个行与安理

是否有一种简单的方法来取代/etc/dhcp/interface-br0.conf中以option domain-name-servers开头的行,并使用更多的IP?

option domain-name-servers 10.116.184.1,10.116.144.1; 

我想补充,10.116.136.1

+1

['lineinfile'](https://docs.ansible.com/ansible/lineinfile_module.html)。使用'regexp'和'backrefs'参数,从包含的例子中学习。 – techraf

回答

3

可以使用lineinfile Ansible module来实现这一目标。

- name: replace line 
    lineinfile: 
     dest: /etc/dhcp/interface-br0.conf 
     regexp: '^(.*)option domain-name-servers(.*)$' 
     line: 'option domain-name-servers 10.116.184.1,10.116.144.1,10.116.136.1;' 
     backrefs: yes 

regexp选项告诉模块会是怎样的内容替换。

line选项会用您选择的新内容替换先前找到的内容。

+0

thx的提示,我改变了我的解决方案更多的行 – rubo77

1

我创建了一个角色dhcp具有以下main.yaml

--- 
- name: add all dns servers 
    lineinfile: 
    dest: /etc/dhcp/interface-br0.conf 
    regexp: '^\s*option domain-name-servers.*$' 
    line: ' option domain-name-servers 10.116.184.1,10.116.144.1,10.116.136.1;' 
    backrefs: yes 
    become: true 
相关问题