Skip to content

Expressions cron

A cron expression is a compact text that describes how often a scheduled trigger should run. Zoan Cloud uses the standard 5 field format.

If you’ve never seen one, don’t panic: there are five numbers (or *) separated by spaces, each indicating a component of the schedule.

┌───────── minuto (0 - 59)
│ ┌─────── hora (0 - 23)
│ │ ┌───── día del mes (1 - 31)
│ │ │ ┌─── mes (1 - 12)
│ │ │ │ ┌─ día de semana (0 - 7; 0 y 7 = domingo)
│ │ │ │ │
* * * * *

Each field answers a question: what minute?, what time?, etc. A * means “anyone.” Execution occurs when all fields match the current time.

Quick read: 0 8 * * 1-5 → minute 0, hour 8, any day of the month, any month, weekdays from Monday (1) to Friday (5) ⇒ “Monday to Friday at 8:00”.

ExpressionSignificado
0 6 * * *Every day at 6:00 a.m.
0 8 * * 1-5Monday to Friday at 8:00 a.m.
0 8 * * 1Every Monday at 8:00 a.m.
30 18 * * *Every day at 6:30 p.m.
0 0 1 * *The first day of every month at midnight
0 0 1 1 *Cada 1 de enero a medianoche (anual)
*/15 * * * *Cada 15 minutos
0 * * * *Cada hora en punto
0 7,12,18 * * *At 7:00, 12:00 and 18:00 every day
0 9-17 * * 1-5Cada hora en punto, de 9 a 17, de lunes a viernes
CharacterSignificadoExample
*Any value* * * * * = cada minuto
,List of values1,3,5 = days/values 1, 3 and 5
-Rango1-5 = del 1 al 5
/Paso (cada N)*/10 = cada 10; 0/15 = 0,15,30,45

You can combine them: 0 8-10,14 * * 1-5 runs at 8, 9, 10 and 2 p.m., Monday to Friday.

The cron expression is evaluated in the trigger time zone, not UTC by default. 0 8 * * * with zone America/Bogota runs at 8:00 Colombia time. Always configure the zone when creating the programmed trigger.

SymptomCausa
Run at a different time than expectedZona horaria mal configurada
No corre nuncaImpossible combination (e.g. day 31 in months that do not have it) or trigger deactivated
Corre demasiado seguido* where you wanted a fixed value (e.g. * 8 * * * runs every minute of 8, not at 8:00)

The last one is the most common error: for “at 8:00 o’clock” the minute should be 0 (0 8 * * *), not *.