¿Qué es cron y cómo programar tareas automáticas en Linux?

Una de las grandes ventajas de Linux es su capacidad para automatizar prácticamente todo. Desde actualizaciones hasta respaldos o tareas personalizadas, todo puede ser programado. ¿El secreto detrás de esto? Se llama cron.

En este artículo te explicamos qué es cron, cómo funciona y cómo programar tus propias tareas automáticas en sistemas Linux. Si querés ahorrar tiempo y mantener tu sistema al día sin mover un dedo, esto es lo que necesitás saber.

cron es un servicio que permite ejecutar comandos o scripts de forma automática en momentos específicos. Viene incluido por defecto en la mayoría de las distribuciones Linux y es fundamental para tareas de mantenimiento del sistema.

La palabra “cron” viene del griego chronos, que significa tiempo. Y justamente, cron está pensado para que puedas decirle a tu sistema: “hacé esto todos los días a las 2 de la mañana”, y lo haga sin que tengas que recordarlo.

Un cronjob es una tarea programada usando cron. Podés crear tareas simples como ejecutar un script, hacer un backup, sincronizar archivos, enviar correos o actualizar paquetes, todo de forma periódica.

¿Dónde se configuran las tareas?

La configuración de cron puede hacerse en distintos archivos:

  • crontab del usuario: ejecutando crontab -e
  • /etc/crontab: para tareas del sistema (requiere root)
  • /etc/cron.d/: archivos de configuración individuales
  • /etc/cron.daily/, cron.weekly/, etc.: scripts que se ejecutan según su periodicidad

Un cronjob típico tiene esta estructura:

minuto hora día-del-mes mes día-de-la-semana comando

Por ejemplo:

30 02 * * * /home/usuario/scripts/backup.sh

Este comando ejecutará el script backup.sh todos los días a las 2:30 AM.

  • Minuto: 0–59
  • Hora: 0–23
  • Día del mes: 1–31
  • Mes: 1–12
  • Día de la semana: 0 (domingo) – 6 (sábado)

También podés usar caracteres especiales:

  • * → cualquier valor
  • , → separar múltiples valores (ej: 1,15)
  • - → rango (ej: 1-5)
  • / → intervalo (ej: */5 cada 5 minutos)
  • Ejecutar un script todos los días a las 22:00:
0 22 * * * /ruta/al/script.sh
  • Reiniciar el sistema cada domingo a las 4 AM:
0 4 * * 0 /sbin/reboot
  • Sincronizar carpetas cada 10 minutos:
*/10 * * * * rsync -a /origen/ /destino/

Esta tarea sincroniza el contenido de la carpeta /origen/ a /destino/ cada 10 minutos utilizando rsync.

Para gestionar tus tareas con cron, usá estos comandos:

  • Ver tareas programadas: crontab -l
  • Editar tareas: crontab -e
  • Eliminar todas las tareas: crontab -r

Si algo no funciona, podés revisar los logs del sistema:

grep CRON /var/log/syslog

En sistemas que usan systemd:

journalctl -u cron

cron es una de esas herramientas que “trabaja en silencio”. Una vez configurado, se encarga de ejecutar tareas sin que tengas que preocuparte. Saber usar cron te da superpoderes para automatizar Linux, ahorrar tiempo y evitar errores humanos.

Si nunca lo probaste, este es el momento ideal. Empezá con algo simple y verás cómo se convierte en una herramienta indispensable en tu día a día con Linux.

Enlaces externos útiles

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *