2017-08-30 1 views
0

in ansible Ich versuche, eine Zeile vor "" einzufügen. Iam mit Einfügen vor. es funktioniert wie erwartet. aber wann immer ich zweites Mal lief es nicht den doppelten Eintrag von „‚“zu schaffen ist dies auch wie erwartet, aber meine Sorge ist havent i erwähnt, wo jeder nicht in zweitem Laufe zu duplizieren, warum noot fügt die Zeile wiederansible vor dem Einfügen nicht doppelte Datensatz im zweiten Lauf erstellen?

- name: Change the Log Level for log in path/logback.xml 
    lineinfile: 
    dest: "path/logback.xml" 
    line: ' <logger name="org.log" level="DEBUG"/>' 
    insertbefore: '</configuration>' 
    backup: yes 

Antwort

1

lineinfile Das Modul fügt keine Duplikate hinzu, es stellt sicher, dass die angegebene Zeile in der Datei vorhanden ist.

Wenn die Zeile nicht vorhanden ist, fügt Ansible sie vor dem Muster insertbefore hinzu.

Also, wenn die Zeile beim ersten Lauf hinzugefügt wird, wird Ansible nichts beim zweiten Lauf tun - es ist Idempotenz in Aktion.

+0

Danke. Konstantin Suworow. Haben Sie ein Dokument, in dem lineinfile erklärt wird? Wie prüft es, ob die Zeile bereits existiert? nur wenn nicht dort? – cad

+1

Hmm .. Dokumentation? http://docs.ansible.com/ansible/latest/lineinfile_module.html –

Verwandte Themen