It works as expected for me on a test Fedora machine.

As a test user, create a debug playbook and test it runs.

[test-user@fedora ~]$ id
uid=1001(test-user) gid=1001(test-user) groups=1001(test-user)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[test-user@fedora ~]$ cat debug.yaml
---
- name: touch a timestamped file
  hosts: localhost
  tasks:
    - name: touch a file
      ansible.builtin.command: touch /tmp/ansible-cron

[test-user@fedora ~]$ ansible-playbook debug.yaml
PLAY RECAP
*********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0
   skipped=0    rescued=0    ignored=0

[test-user@fedora ~]$ ll /tmp/ansible-cron
-rw-r--r--. 1 test-user test-user 0 Apr 19 17:36 /tmp/ansible-cron
[test-user@fedora ~]$ rm /tmp/ansible-cron

As a real user, schedule the previously tested playbook via cron.

[real-user@fedora ansible-cron]$ cat add-cron.yaml
---
- name: Create a test cronjob to touch a file
  hosts: localhost
  become: true
  tasks:
    - name: add crontab entry
      ansible.builtin.cron:
        name: This cronjob is scheduled by Ansible
        minute: "*"
        hour: "*"
        day: "*"
        month: "*"
        weekday: "*"
        user: test-user
        job: "ansible-playbook -i localhost /home/test-user/debug.yaml"
        state: present

[real-user@fedora ansible-cron]$ ansible-playbook add-cron.yaml

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

[root@fedora ~]# crontab -l -u test-user
#Ansible: This cronjob is scheduled by Ansible
* * * * * ansible-playbook -i localhost /home/test-user/debug.yaml

[root@fedora ~]# systemctl start crond.service

[root@fedora ~]# ll /tmp/ans*
-rw-r--r--. 1 test-user test-user 0 Apr 19 17:42 /tmp/ansible-cron

For me the level of log info sent to the journal wasn't terribly helpful,
so you might want to try stopping the service and running in the foreground
with debug for more detail (YMMV depending on distro/config and
customisation):

# systemctl stop crond.service
# crond -n -s -x ext,sch,proc,pars,load,misc


On Wed, 19 Apr 2023 at 17:38, John Welby <[email protected]> wrote:

> Yes, there are copy/paste errors as I am transcribing and scrubbing info
> from a high-side environment.
>
>
> On Wednesday, April 19, 2023 at 12:21:47 PM UTC-4 Dick Visser wrote:
>
>> Also the file name extensions are different (yml vs yaml). Are we looking
>> at some copy paste errors?
>>
>> On Wed, 19 Apr 2023 at 18:18, 'Rowe, Walter P. (Fed)' via Ansible Project
>> <[email protected]> wrote:
>>
>>>         job: "/home/jwelby/ansible/sub-playbooks/ansible-playbook -i
>>> dev-hosts /home/jwelby/ansible/sub-playbooks/patching.yml"
>>>
>>>
>>>
>>>    30 15 * * 3 /home/jwelby/ansible/sub-playbooks/patching.yaml
>>>
>>>
>>> These don't match. cron isn't running ansible-playbook. It is trying to
>>> run the YAML file itself.
>>>
>>> Walter
>>> --
>>> Walter Rowe, Division Chief
>>> Infrastructure Services, OISM
>>> Mobile: 202.355.4123 <(202)%20355-4123>
>>>
>>> On Apr 19, 2023, at 12:08 PM, John Welby <[email protected]> wrote:
>>>
>>> ---
>>> - name: Create a cronjob to patch dev instances
>>>   hosts: controller
>>>   tasks:
>>>     - name: Schedule cron
>>>       ansible.builtin.cron:
>>>         name: This cronjob is scheduled by Ansible
>>>         minute: "15"
>>>         hour: "12"
>>>         day: "*"
>>>         month: "*"
>>>         weekday: "3"
>>>         user: ec2-user
>>>         job: "/home/jwelby/ansible/sub-playbooks/ansible-playbook -i
>>> dev-hosts /home/jwelby/ansible/sub-playbooks/patching.yml"
>>>         state: present
>>>
>>> crontab -l
>>>    30 15 * * 3 /home/jwelby/ansible/sub-playbooks/patching.yaml
>>>
>>> crond.service is active and running
>>>
>>>
>>> Thanks!
>>>
>>> John
>>> On Wednesday, April 19, 2023 at 10:56:07 AM UTC-4 Will McDonald wrote:
>>> More information would be helpful here.
>>>
>>> 1. Can you share your usage of ansible.builtin.cron?
>>> 2. Can you share the output of crontab -l for the user you're creating
>>> the cron job for/as, or the contents of /etc/crontab and/or /etc/cron.* ?
>>> 3. What's in your cronlog or systemd journal?
>>> 4. Obvious question but you do have a vixie cron variant installed and
>>> the appropriate services started?
>>>
>>>
>>> On Wed, 19 Apr 2023 at 15:26, John Welby <[email protected]> wrote:
>>> All,
>>>
>>> Can a playbook be run by 'job', i.e. instead of a script.
>>>
>>> I created a playbook that creates an entry in crontab, which it does
>>> successfully, but it does not execute the playbook I specified in job:
>>>
>>> Thanks!
>>>
>>> John
>>>
>>> --
>>> 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/34c698f9-be82-4e15-a486-3dddb5ebf3ecn%40googlegroups.com
>>> .
>>>
>>> --
>>> 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/d31172bf-3b3a-4749-882f-437e0401d345n%40googlegroups.com
>>> .
>>>
>>>
>>> --
>>> 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/DFE1A099-5F3B-4992-8993-CB0B03F7BD26%40nist.gov
>>> <https://groups.google.com/d/msgid/ansible-project/DFE1A099-5F3B-4992-8993-CB0B03F7BD26%40nist.gov?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> Sent from Gmail Mobile
>>
> --
> 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/ce8f41d2-237e-48fa-8d80-5da96dca751fn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/ce8f41d2-237e-48fa-8d80-5da96dca751fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAKtKohQfdSDxgQVOCpKfinFXfPVwNoC_kBEYybbWYeUbrPGS9Q%40mail.gmail.com.

Reply via email to