Cada campo admite un número, * para cualquier valor, una lista (1,15), un rango (1-5) o un intervalo (*/15). Los meses y los días de la semana también pueden escribirse con nombres como JAN o MON; el domingo es 0, y la mayoría de implementaciones aceptan también 7. Atajos como @daily y @hourly equivalen a horarios habituales.
Hay dos reglas que sorprenden. Cuando se fijan tanto el día del mes como el día de la semana, la tarea se ejecuta cuando coincide cualquiera de los dos, no ambos: 0 9 1 * 1 se ejecuta el día 1 y todos los lunes. Y cron funciona en la zona horaria del sistema, así que una tarea a las 02:30 puede saltarse o ejecutarse dos veces con el cambio de hora, según la implementación.
Algunos planificadores añaden un sexto campo para los segundos o el año, o caracteres como L y ?, como hacen Quartz y AWS EventBridge. No forman parte del crontab estándar, así que comprueba qué sintaxis espera cada herramienta. Una programación solo indica cuándo debe empezar una tarea; la monitorización heartbeat te dice si lo hizo.