Linux

Cron en Linux: cómo programar tareas automáticas paso a paso

Cron es el programador de tareas de Linux: un servicio que lleva décadas ejecutando comandos a la hora exacta que le pidas. Su sintaxis de cinco columnas asusta el primer día y se domina el segundo. Vamos a ello.

Editar tu crontab

crontab -e     # editar las tareas de tu usuario
crontab -l     # listarlas
sudo crontab -e   # las de root

La primera vez te preguntará qué editor usar: elige nano si no vives en vim.

La sintaxis: cinco columnas y un 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)
# │ │ │ │ │
# * * * * *  comando

Ejemplos listos para copiar

0 7 * * *       /home/usuario/backup.sh          # cada día a las 7:00
*/15 * * * *    /home/usuario/comprobar.sh       # cada 15 minutos
0 3 * * 0       /home/usuario/limpieza.sh        # domingos a las 3:00
0 9 1 * *       /home/usuario/informe-mensual.sh # el día 1 de cada mes
@reboot         /home/usuario/al-arrancar.sh     # al iniciar el sistema

Los tres errores que comete todo el mundo

  • Rutas relativas. Cron no conoce tu PATH ni tu carpeta actual: usa rutas absolutas para comandos y archivos (/usr/bin/python3 /home/usuario/script.py, no python3 script.py).
  • Sin permisos de ejecución. El script necesita chmod +x.
  • El % sin escapar. En crontab, el símbolo % tiene significado especial: escríbelo como \% (típico en comandos con date +\%F).

Guardar la salida para saber qué pasó

0 7 * * * /home/usuario/backup.sh >> /var/log/backup.log 2>&1

Ese 2>&1 envía también los errores al log. Sin esto, cuando una tarea falle de madrugada no tendrás ni idea de por qué.

Comprobar que cron hizo su trabajo

# Ubuntu/Debian
grep CRON /var/log/syslog | tail -20
# Distros con systemd
journalctl -u cron --since today

Conclusión

Cron es simple, fiable y está en todos los Linux del planeta. Rutas absolutas, salida a un log y la chuleta de las cinco columnas a mano: con eso tienes automatización de nivel profesional con una sola línea de texto.

Deja una respuesta

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