Then, um, fix what's wrong. (?) I'd be more specific, but you didn't give me much to work with. Post the task and relevant variables.
Note the "path:" I used on my localhost isn't what you need.
Also, I didn't add the those extra data you want to add:
*'$request_time ' '$upstream_response_time ' '$upstream_connect_time' '$upstream_header_time' *
it should be obvious where that would go, but if not, post with some details - tasks, variables, and output - and we'll help you get it working. One last thing if you aren't already doing it: use "-D" or "--diff" on the command line to see the changes.


On 11/1/23 2:02 PM, Narmada Karthika wrote:
Thankyou, I tried the above playbook, there is no syntax error but it is not changing anything.

On Tuesday, October 31, 2023 at 8:35:32 PM UTC-7 Todd Lewis wrote:

    Something like this, perhaps:

         - name: Do the a.b.replace thing
           ansible.builtin.replace:
             path: narmada-0.txt
             regexp: '^log_format +main +[^;]+;\n'
             replace: 'log_format main {{ bits | map("quote") | join("\n     ") 
}};\n'
           vars:
             bits:
               - '$remote_addr - $remote_user [$time_local] "$request" '
               - '$status $body_bytes_sent "$http_referer" '
               - '"$http_user_agent" "$http_x_forwarded_for"'
               - '$request_time '
               - '$upstream_response_time '
               - '$upstream_connect_time'
               - '$upstream_header_time'


    On 10/31/23 6:12 PM, Narmada Karthika wrote:
    Hello,
    I am trying to update nginx file, I need to add 4 more lines
    before the  ;  I tried blockinfile, lineinfile, replace and sed
    but I am unable to get the required output
    ex: the below one is some part of my nginx file,
    log_format  main  '$remote_addr - $remote_user [$time_local]
    "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" "$http_x_forwarded_for"';


    I need to add *'$request_time ' '$upstream_response_time '
    '$upstream_connect_time' '$upstream_header_time'    to the
    existing line  before the ; *
    *blockinfile is somewhat worked but the nginx file end up having
    ; after * '"$http_user_agent" "$http_x_forwarded_for"'
    my desired output is
    log_format  main  '$remote_addr - $remote_user [$time_local]
    "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" "$http_x_forwarded_for"'
    *'$request_time ' '$upstream_response_time '
    '$upstream_connect_time' '$upstream_header_time' *;

    someone please help me with a solution, I have lot of servers
    across multiple environments which cannot be done manually.

-- You received this message because you are subscribed to the
    Google Groups "Ansible Project" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected].
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/ansible-project/d00e73ae-965d-4a24-9843-8cc37b06010fn%40googlegroups.com
    
<https://groups.google.com/d/msgid/ansible-project/d00e73ae-965d-4a24-9843-8cc37b06010fn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- Todd

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/e80cfd8b-6342-4f84-a0fe-08175e35d62dn%40googlegroups.com <https://groups.google.com/d/msgid/ansible-project/e80cfd8b-6342-4f84-a0fe-08175e35d62dn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Todd

--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/56f93cbd-82ae-44b8-b919-867867c122d4%40gmail.com.

Reply via email to