Deploy Monitored Cron Jobs with Ansible
DevOps & CI/CDThe Problem
Deploying cron jobs across multiple servers without monitoring means failures on any server go undetected.
The Solution
Use Ansible's cron module to deploy jobs with built-in CronRabbit monitoring pings. Each server gets its own monitor.
Ansible Pattern
Use variables to pass CronRabbit ping URLs per host/environment. The cron module handles installation and the monitoring is baked in.
Code Examples
Ansible playbook with monitoring
Bash# deploy_crons.yml
- hosts: web_servers
vars:
cronrabbit_backup_ping: "https://ping.cronrabbit.com/backup-{{ inventory_hostname }}"
tasks:
- name: Deploy nightly backup with monitoring
ansible.builtin.cron:
name: "Nightly Backup"
hour: "2"
minute: "0"
job: "/scripts/backup.sh && curl -fsS -m 10 --retry 5 --retry-all-errors {{ cronrabbit_backup_ping }}"