2017-12-28 17 views
1

Ich habe Beispieldatei namens clado.txt mit folgendem Inhalt.Ansible Problem mit Zeile Dateimodul

[server] 

[backend] 

[frontend] 

Ich versuche, eine Linie "apache1" unter dem Abschnitt [Servers] Einsatz.

[server] 
apache1 

[backend] 

[frontend] 

Mein Textbuch

--- 
- hosts: aws 
    become: yes 
    remote_user: ec2-user 
    tasks: 
    - name: editing /home/ec2-user/clado.txt. 
    lineinfile: 
     dest: /home/ec2-user/clado.txt 
     insertafter: "[server]" 
     line: "apche1" 

Aber ich bin nicht meine gewünschte Ausgabe zu bekommen.

[server] 

[backend] 

[frontend] 
apche1 

Wie kann ich stelle das Wort "apache1" unter [Server]

+0

Das sieht wie eine INI-Datei aus, die Sie erstellen. Ich bin mir nicht sicher, ob es funktioniert, aber http://docs.ansible.com/ansible/latest/ini_file_module.html Checkout, das könnte Ihnen helfen. –

Antwort

0

Das Argument insertafter ist ein regulärer Ausdruck, so dass Sie Klammern mit Schrägstrichen entkommen müssen.

insertafter: "\\[server\\]" 

In einer großen Mehrheit der Fälle sollten Sie ansible verwenden template module und die gewünschten Inhalte angeben, statt auf dem aktuellen Stand der Zielmaschine zu verlassen.

+0

Sie benötigen zwei umgekehrte Schrägstriche mit doppelten Anführungszeichen oder eins mit einem einzigen Anführungszeichen - ich habe sie durcheinander gebracht. – techraf