Glossan

¿Qué es Cron?

También llamado: cron job, tarea programada, crontab

Definición

Cron es el programador de tareas de los sistemas Linux. Ejecuta automáticamente comandos o scripts a la hora que indiques: cada noche, cada cinco minutos, el primer día de cada mes…

Se usa para todo lo que debe ocurrir sin intervención humana: copias de seguridad, envío de correos programados, limpieza de archivos temporales, renovación de certificados o sincronizaciones con otros servicios.

Ejemplo

Las tareas se definen en el crontab (crontab -e), una por línea, con cinco campos de tiempo y el comando:

# ┌───────── minuto (0-59)
# │ ┌─────── hora (0-23)
# │ │ ┌───── día del mes (1-31)
# │ │ │ ┌─── mes (1-12)
# │ │ │ │ ┌─ día de la semana (0-7, 0 y 7 = domingo)
# │ │ │ │ │
  30 3 * * *   /home/usuario/bin/backup.sh          # cada día a las 03:30
  */5 * * * *  php /var/www/app/artisan schedule:run # cada 5 minutos
  0 9 1 * *    /home/usuario/bin/informe.sh         # el día 1 de cada mes a las 9:00

En cPanel, lo mismo se configura desde «Trabajos de cron», sin usar la terminal.

WordPress y su «falso cron»

WordPress tiene su propio sistema, WP-Cron, que se ejecuta cuando alguien visita la web. En webs con pocas visitas las tareas se retrasan, y en las de mucho tráfico se ejecuta demasiado. Lo recomendable es desactivarlo y llamarlo desde un cron real:

// wp-config.php
define('DISABLE_WP_CRON', true);
*/15 * * * *  cd /var/www/example.com && wp cron event run --due-now >/dev/null 2>&1

Errores habituales

¿Tienes un producto o servicio relacionado con Cron? Anúnciate en este término.

Términos relacionados

Categorías: Backend DevOps