2016-11-24 7 views
0

私は新しいことができます。設定ファイル内の行を安全なものに置き換えます。

option domain-name-serversで始まる行を/etc/dhcp/interface-br0.confに置き換える簡単な方法はありますか?

option domain-name-servers 10.116.184.1,10.116.144.1; 

私は、次のmain.yamlと役割dhcpを作成,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

ヒントについては、私はもっと多くの行に私の解決策を変更しました – rubo77

1

を追加したい:

--- 
- 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 
関連する問題