Inicio›Biblioteca›Ejemplos de programación con cron

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-5
Los fines de semana a medianoche
0 0 * * 0,6
Todos los lunes a las 8:00
0 8 * * 1
Todos los viernes a las 18:00
0 18 * * 5
Todos los domingos a las 4:00 AM
0 4 * * 0
El 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.