Guías de Cron
Guías

¿Qué es Cron? Fundamentos de crontab

El concepto básico del programador y la estructura de 5 campos

Cron es un programador de tareas basado en el tiempo que, en los sistemas tipo Unix y Linux, ejecuta automáticamente comandos o scripts en los momentos establecidos. Se usa para dejar programadas tareas que hay que repetir periódicamente —como copias de seguridad, limpieza de registros o sincronización de datos— y no tener que ejecutarlas a mano cada vez.

La lista de tareas a ejecutar se escribe, una por línea, en una tabla llamada crontab (cron table). Cada línea se compone de una expresión de horario que indica cuándo ejecutar y un comando que indica qué ejecutar. La expresión de horario estándar consta de 5 campos separados por espacios: minuto (0-59) · hora (0-23) · día (1-31) · mes (1-12) · día de la semana (0-6, 0=domingo).

Por ejemplo, 30 9 * * 1-5 significa 'minuto=30, hora=9, día=todos, mes=todos, día de la semana=lunes a viernes', por lo que se ejecuta los días laborables a las 9:30 de la mañana. El * significa 'todos los valores de ese campo', y si se escribe */5 se puede indicar un intervalo de 'cada 5'.

El demonio de cron comprueba cada minuto todas las expresiones registradas y ejecuta las tareas que coinciden con la hora actual. Por eso el intervalo mínimo que se puede lograr con cron es de un minuto. Si necesitas un intervalo más corto, tienes que repetir dentro del propio script o usar otro método.

Cuando una expresión se vuelve compleja, cuesta leerla a simple vista. Si pegas la expresión en la herramienta de arriba, la interpreta como una frase legible y te muestra las próximas ejecuciones, de modo que puedes comprobar al instante si coincide con el horario que quieres.

Recursos

Colección de horarios

Recetas para copiar y usar al instante

Chuleta de sintaxis

Los 5 campos y los caracteres especiales de un vistazo

Macros y alias

Expresiones abreviadas como @daily

Guías

Guías prácticas para entender bien cron y cometer menos errores