Good morning. I am updating a cron job by replacing a line in the crontab file. My error comes when I use the "\" (see below) to escape the "(". Using the escape character works on the command line but Ansible keeps giving me a syntax error. Here is my code:
- name: Check for cron job to remove wazuh logs
lineinfile:
path: "{{ cron_job_path[ansible_distribution] }}"
regexp: "find /var/ossec/logs"
line: "{{ 59|random }} {{ 23|random }} * * * find /var/ossec/logs/ \( -name '*.gz' -o -name '*.json' -o -name '*.log' \) -type f -mtime +2 -delete; find /var/ossec/logs -type d -empty -delete"
state: present
With this code, Ansible states "this one looks like it might be an issue with missing quotes".
I need to escape the "(" for it to work in crontab/bash command line. When I delete the "\" characters the Ansible error goes away, but of course it does not work in crontab/bash.
I've tried using " around each of the commands but that doesn't work either.
Does anyone see where I have gone wrong?