Crontab Generator

¿Qué es un cron job?

Un cron job es una tarea programada que se ejecuta automáticamente en un sistema tipo Unix a una hora o intervalo definido. El nombre viene de cron, un programador de tareas basado en tiempo integrado en Linux y macOS. Los cron jobs se usan para automatizar tareas repetitivas: enviar correos, hacer respaldos de bases de datos, limpiar cachés, consultar APIs periódicamente, generar reportes, y cualquier otro trabajo que deba ocurrir en un horario regular sin intervención humana.

Cada cron job se define mediante una expresión cron — una cadena compacta de cinco campos que le indica al programador exactamente cuándo ejecutar la tarea. El generador de arriba convierte esos campos en una descripción legible para que puedas verificar el horario antes de implementarlo.

¿Qué es crontab?

Crontab (tabla de cron) es el archivo de configuración donde se definen los cron jobs en un sistema Unix. Cada línea de un archivo crontab es una tarea programada: una expresión cron seguida del comando a ejecutar. Se edita con crontab -e y se listan las tareas existentes con crontab -l. Plataformas modernas como Cloudflare Workers, AWS EventBridge, GitHub Actions y Kubernetes CronJobs usan todas el mismo formato de expresión cron de cinco campos.

Sintaxis de una expresión cron

Una expresión cron tiene cinco campos separados por espacios: minuto hora día-del-mes mes día-de-la-semana. Cada campo controla una unidad de tiempo, y combinarlos define exactamente cuándo se ejecuta la tarea.

Rangos de cada campo

Caracteres especiales

Expresiones cron comunes

Diferencias entre plataformas

El formato UNIX estándar de cinco campos lo usan el crontab de Linux, los Cron Triggers de Cloudflare Workers y los horarios de GitHub Actions. AWS EventBridge agrega un sexto campo de año y usa ? como comodín para día-del-mes o día-de-la-semana (no se pueden especificar ambos a la vez). Kubernetes CronJobs usa el formato estándar de cinco campos. Algunas plataformas agregan un campo de segundos al inicio, convirtiéndolo en una expresión de seis campos — revisa la documentación de tu plataforma.

Preguntas frecuentes

¿Para qué se usa un cron job?

Los cron jobs automatizan cualquier tarea que deba ejecutarse en un horario: respaldos de bases de datos, envío de correos resumen, limpieza de sesiones expiradas, rotación de archivos de log, consulta periódica de APIs externas, generación de reportes, sincronización de datos entre servicios, verificaciones de salud (health checks), y activación de despliegues. Si una tarea debe ocurrir repetidamente a la misma hora, un cron job es la solución estándar.

¿Cómo ejecuto un cron job cada hora?

Usa 0 * * * * — minuto 0, cada hora. El 0 en el campo de minutos significa que se ejecuta al inicio de cada hora (00:00, 01:00, 02:00, etc.). Para ejecutarlo cada 30 minutos usa */30 * * * *; cada 15 minutos usa */15 * * * *.

¿Qué significa */5 en una expresión cron?

El carácter / es un operador de paso. */5 en el campo de minutos significa "cada 5 minutos" — empezando en 0, luego 5, 10, 15, 20, y así sucesivamente. Se puede usar en cualquier campo: */2 en el campo de horas significa cada 2 horas; */3 en el campo de meses significa cada 3 meses.

¿Cómo configuro un cron job en Linux?

Ejecuta crontab -e para abrir tu archivo crontab en el editor predeterminado. Agrega una línea por tarea con el formato expresión comando — por ejemplo: 0 2 * * * /home/user/backup.sh ejecuta el script a las 2 AM todos los días. Guarda y cierra; cron aplica los cambios de inmediato. Usa crontab -l para listar todas tus tareas actuales y crontab -r para eliminarlas todas.

¿Cuál es la diferencia entre cron y crontab?

cron es el daemon (servicio en segundo plano) que ejecuta las tareas programadas. crontab es el archivo de configuración (y el comando) que define qué tareas debe ejecutar cron. Interactúas con crontab para administrar los horarios; cron se ejecuta silenciosamente en segundo plano llevándolos a cabo.