Qué es una expresión cron y qué hace crontab
Una expresión cron fija cuándo debe arrancar una tarea. En la crontab de un usuario de Linux, los cinco campos de tiempo van antes del comando que se ejecutará. Son dos piezas distintas: el horario puede ser correcto aunque el script tenga un error.
Este generador sirve para preparar copias de seguridad, importaciones periódicas y mantenimiento del servidor. Elige la frecuencia y comprueba las fechas calculadas antes de pasar a producción. No crea tareas en tu cuenta ni ejecuta comandos.
Cómo generar un cron para tu tarea
- Elige una plantilla o configura cada campo desde el editor visual.
- Para varios valores, usa una lista; para un tramo continuo, un rango.
- Si ya tienes una crontab, pega solo los cinco campos horarios, sin el comando.
- Revisa las siguientes ejecuciones en UTC y copia el resultado.
Sintaxis cron: orden de los campos y símbolos
Los campos se separan con espacios: minuto, hora, día del mes, mes y día de la semana. El domingo se representa con 0 o 7. Los nombres admitidos en el código son JAN–DEC y SUN–SAT, no sus traducciones.
| Campo | Valores |
|---|---|
| Minuto | 0–59 |
| Hora | 0–23 |
| Día del mes | 1–31 |
| Mes | 1–12 |
| Día de la semana | 0–7 |
- * incluye todos los valores del campo.
- , separa una lista de valores, como 0,30.
- - define un rango con ambos extremos incluidos, como 1-5.
- / establece el paso dentro del campo, como
*/15.
Ejemplos de cron: cada cinco minutos, a diario y por mes
La expresión */5 no cuenta desde que guardas la tarea: en el campo de minutos coincide con 0, 5, 10 y así sucesivamente. Las horas se interpretan en la zona del planificador.
| Expresión | Cuándo se ejecuta |
|---|---|
*/5 * * * * | Cada cinco minutos |
30 2 * * * | Todos los días a las 02:30 |
0 9 * * 1-5 | De lunes a viernes a las 09:00 |
0 0 * * 0 | Cada domingo a medianoche |
0 0 1 * * | El día 1 de cada mes |
0 0 29 2 * | El 29 de febrero de los años bisiestos |
Programar el comando en Linux
Abre la crontab del usuario actual con crontab -e. La siguiente entrada llama al script de copia de seguridad todos los días a las 02:30, según la zona horaria del servicio cron.
Usa una ruta absoluta y comprueba los permisos de ejecución. También deben estar disponibles el servicio cron y las variables de entorno que necesite el script. La vista previa de fechas no comprueba esas condiciones del servidor.
30 2 * * * /usr/local/bin/backup.shDudas frecuentes al programar tareas cron
¿El horario de la vista previa es el de mi país?
No, se muestra en UTC. La expresión no lleva zona horaria; la define el planificador. Comprueba la configuración del servidor, sobre todo si utiliza una zona con cambios de horario de verano.
¿De lunes a viernes equivale a días laborables?
Solo indica los días de la semana del 1 al 5. No excluye festivos ni conoce el calendario laboral. Si lo necesitas, añade esa comprobación al programa que ejecutas.
¿Cómo se combinan día del mes y día de la semana?
Si ambos están limitados, basta con que coincida uno. 0 9 1 * MON se ejecuta el día 1 del mes o los lunes a las 09:00. Si uno empieza por *, incluidas variantes como */2, deben cumplirse las dos condiciones de día.
¿Admite segundos o expresiones de Quartz?
Solo se admiten cinco campos de Linux cron. No se aceptan segundos, ?, L, W, # ni @reboot. Sí se expanden los alias @hourly, @daily, @weekly, @monthly y @yearly.
¿Por qué no aparecen cinco ejecuciones?
La búsqueda se limita a los próximos ocho años. Un 31 de febrero nunca coincide; un 29 de febrero puede dar menos de cinco resultados. Esto no implica por sí solo un fallo de sintaxis.
