Explicador de expresiones cron
Escribe una línea de crontab y comprueba qué significa cada campo y cuándo se ejecutará la tarea las próximas 10 veces, en tu hora local.
¿Qué es cron?
cron es el programador de tareas de Linux y Unix: ejecuta comandos automáticamente en las fechas y horas indicadas. Cada usuario tiene su crontab (se edita con crontab -e), en la que cada línea contiene una expresión de cinco campos seguida del comando, por ejemplo 0 3 * * * /home/usuario/copia.sh para hacer una copia de seguridad cada día a las 3:00.
La misma sintaxis la usan muchas otras herramientas: tareas programadas de Plesk y cPanel, GitHub Actions, Kubernetes CronJob o los programadores de Laravel y Symfony.
Sintaxis de los campos
Los campos son, por orden: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12 o jan-dec) y día de la semana (0-7 o sun-sat; 0 y 7 son domingo). Un * significa «cualquiera», 1,15 es una lista, 1-5 un rango y */10 «cada 10». Por ejemplo, 30 8 * * 1-5 es «a las 8:30 de lunes a viernes».
Atención: si se restringen a la vez el día del mes y el día de la semana, cron ejecuta la tarea cuando se cumple cualquiera de los dos, no ambos.
Atajos @
@hourly (cada hora), @daily o @midnight (cada día a las 0:00), @weekly (los domingos a las 0:00), @monthly (el día 1 de cada mes), @yearly o @annually (el 1 de enero) y @reboot (al arrancar el sistema).