Ansible playbook - чтобы изменить строку в файле конфигурации

Мне нужно написать playbook, чтобы заменить строку lock_dir = "/ var / lock / lvm" на lock_dir = "/ run / lock" в /etc/lvm/lvm.conf с использованием ansible

/root # cat /etc/lvm/lvm.conf | grep locking_dir | grep -v '#'
    locking_dir = "/var/lock/lvm"

в

locking_dir = "/run/lock"
0
26.01.2019, 18:08
1 ответ

В качестве специальной команды -Специальная команда:

ansible '<hosts>' -m lineinfile -a "dest=/etc/lvm/lvm.conf backrefs=yes regexp='^(locking_dir)' line='\1 = \"/run/lock\"' state=present"

Как часть пьесы:

- lineinfile:
    dest: /etc/lvm/lvm.conf
    backrefs: yes
    regexp: '^(locking_dir)'
    line: '\1 = \"/run/lock\"'
    state: present

Я полагаю, что lvm.confбудет иметь только одну строку, начинающуюся с locking_dir, поэтому я не удосужился использовать регулярное выражение для сопоставления всей строки. В противном случае регулярное выражение было бы чем-то вроде'^locking_dir = \"/var/lock/lvm\"'

1
28.01.2020, 02:45

Теги

Похожие вопросы