- name: replace log_format settings on nginx
        ansible.builtin.replace:
          path: /nginx/nginx.conf
          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'



 ansible-playbook -i inventory nginxupdate.yml

PLAY [update nginx.config]
*****************************************************************************************************************************************************************************************************

TASK [ replace log_format settings on nginx ]
************************************************************************************************************************************************************************************************
ok: [servername]

PLAY RECAP
*********************************************************************************************************************************************************************************************************************
servername             :ok=1 changed=0    unreachable=0    failed=0
 skipped=0    rescued=0    ignored=0


On Wed, Nov 1, 2023 at 11:22 AM Narmada Karthika <[email protected]>
wrote:

> yes, I modified the playbook to my data accordingly ..
>
> On Wed, Nov 1, 2023 at 11:20 AM Todd Lewis <[email protected]> wrote:
>
>> 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
>> <https://groups.google.com/d/msgid/ansible-project/56f93cbd-82ae-44b8-b919-867867c122d4%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
>  Thanks,
> Narmada Karthika Chitturi
>
>


-- 
 Thanks,
Narmada Karthika Chitturi

-- 
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/CABdF8S3PGSgqhDoVgUxEc1Cs1iDqGj3i4k340%3D2WfivJ%3Dzyy6g%40mail.gmail.com.

Reply via email to