Ejemplos de programación con cron
Expresiones cron listas para copiar con horarios de uso habitual: consultas cada cinco minutos, mañanas entre semana, procesos nocturnos por lotes y cierres de mes. Haz clic en una tarjeta para copiar la expresión estándar de 5 campos, o pégala en la herramienta cron para ver una explicación en lenguaje sencillo y las próximas horas de ejecución. La franja de cada tarjeta indica cuándo se ejecuta la tarea a lo largo del día, la semana, el mes o el año.
Abrir la herramienta →Cada minuto
* * * * *Cada 5 minutos
*/5 * * * *Cada 10 minutos
*/10 * * * *Cada 15 minutos
*/15 * * * *Cada 30 minutos
*/30 * * * *Cada hora en punto
0 * * * *Cada hora a las :30
30 * * * *Cada 3 horas
0 */3 * * *Cada 6 horas
0 */6 * * *Cada hora durante el horario laboral (9:00 a 18:00)
0 9-18 * * *Todos los días a medianoche
0 0 * * *Todos los días a las 9:00
0 9 * * *Dos veces al día (9:00 y 18:00)
0 9,18 * * *Proceso nocturno por lotes a las 2:30 AM
30 2 * * *De lunes a viernes a las 9:00
0 9 * * 1-5Los fines de semana a medianoche
0 0 * * 0,6Todos los lunes a las 8:00
0 8 * * 1Todos los viernes a las 18:00
0 18 * * 5Todos los domingos a las 4:00 AM
0 4 * * 0El día 1 de cada mes a medianoche
0 0 1 * *Periodo de fin de mes a las 23:00 (días 28 a 31)
0 23 28-31 * *Primer día de cada trimestre, a medianoche
0 0 1 1,4,7,10 *Cada 1 de enero a medianoche
0 0 1 1 *Preguntas frecuentes
- ¿Qué significan los 5 campos de cron?
- De izquierda a derecha: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12) y día de la semana (0-6, donde 0 es domingo). Muchas implementaciones también aceptan 7 para el domingo, pero 0 funciona en todas. Si restringes tanto el día del mes como el día de la semana, la mayoría de las implementaciones de cron los combinan con OR y ejecutan la tarea más a menudo de lo que esperas, así que usa solo uno de los dos, como en los ejemplos de esta página.
- ¿En qué zona horaria se ejecutan estas tareas?
- Cron usa la zona horaria del servidor donde se ejecuta el servicio. Si tu servidor está en UTC, "9:00" aquí significa 9:00 UTC, no las nueve de tu mañana local. Comprueba la zona horaria del servidor antes de instalar un crontab y, si tu implementación lo admite, usa la variable CRON_TZ para fijar una. En regiones con horario de verano, evita las horas de madrugada que se omiten o se repiten.
- ¿Cómo ejecuto una tarea el último día del mes?
- El cron estándar de 5 campos no tiene una sintaxis para el último día (L es una extensión de Quartz y otros programadores similares). La solución habitual es programar los días 28 a 31 y hacer que el script compruebe si mañana es día 1, por ejemplo [ "$(date -d tomorrow +\%d)" = "01" ] con GNU date (dentro de un crontab, hay que escapar % como \%). A menudo resulta aún más sencillo ejecutarlo el día 1 y tratarlo como el cierre del mes anterior.
- ¿Puede cron ejecutar una tarea cada pocos segundos?
- No. La unidad mínima en un crontab estándar es un minuto; no hay un campo de segundos. Las expresiones de seis campos que empiezan con un valor de segundos pertenecen a Quartz y bibliotecas similares, y provocan un error de sintaxis en un crontab normal. Para un intervalo de 30 segundos, el truco habitual es registrar el mismo comando dos veces y anteponer sleep 30 a una de las entradas.