0Pricing
Linux Command Line & Bash Scripting Mastery · Lección

Programación de tareas con Cron

Domine la utilidad «cron» para programar la ejecución automática de scripts y comandos en intervalos u horas determinados.

Programación de tareas con Cron es una lección gratuita de Linux Command Line & Bash Scripting Mastery en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Command Line & Bash Scripting Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.

Automatizar tareas con Cron

¡Bienvenido al mundo de la automatización! En esta lección aprenderá sobre cron, una potente utilidad de Linux que permite programar comandos o scripts para que se ejecuten automáticamente en momentos específicos.

Imagine configurar copias de seguridad diarias o comprobaciones del sistema cada hora sin mover un dedo: ¡esa es la función de cron!

Su archivo crontab personal

Cada usuario de un sistema Linux tiene su propio archivo crontab (tabla de cron). Aquí se almacenan todas las tareas programadas.

Para editar su crontab personal, usará el comando crontab -e. Este abre el archivo en su editor de texto predeterminado, listo para que añada nuevas tareas.

Entrada de crontab: campos de tiempo

Una entrada de crontab consta de seis partes. Las cinco primeras definen cuándo se ejecutará el comando y están separadas por espacios:

  • Minuto: 0-59
  • Hora: 0-23 (0 es medianoche)
  • Día del mes: 1-31
  • Mes: 1-12 (o Jan-Dec)
  • Día de la semana: 0-7 (0 o 7 es domingo; 1 es lunes)

Entrada de crontab: el comando

La sexta y última parte de una entrada de crontab es el comando o script que desea ejecutar.

Es fundamental usar rutas absolutas para los comandos y scripts en este campo (por ejemplo, /usr/bin/python en lugar de simplemente python). Las tareas de cron se ejecutan en un entorno mínimo, por lo que es posible que su PATH habitual no esté disponible.

Caracteres especiales de crontab

Para hacer que las programaciones sean flexibles, cron utiliza caracteres especiales:

  • * (asterisco): Coincide con todos los valores posibles (por ejemplo, cada minuto o cada hora).
  • , (coma): Separa una lista de valores (por ejemplo, 1,15 para los minutos 1 y 15).
  • - (guion): Define un intervalo de valores (por ejemplo, 9-17 para las horas de 9 a 17).
  • / (barra inclinada): Especifica incrementos (por ejemplo, */10 para cada 10 minutos).

Atajos de programación predefinidos

Para las necesidades de programación más habituales, cron ofrece atajos prácticos que sustituyen a los cinco primeros campos de tiempo:

  • @reboot: Se ejecuta una vez después de reiniciar el sistema.
  • @yearly (o @annually): Se ejecuta una vez al año (0 0 1 1 *).
  • @monthly: Se ejecuta una vez al mes (0 0 1 * *).
  • @weekly: Se ejecuta una vez a la semana (0 0 * * 0).
  • @daily (o @midnight): Se ejecuta una vez al día (0 0 * * *).
  • @hourly: Se ejecuta una vez por hora (0 * * * *).

Práctica: programar un script sencillo

Creemos un script sencillo que registre un saludo y programémoslo para que se ejecute todos los días a las 10:00.

  1. Cree el script (por ejemplo, ~/greet.sh):
  2. Hágalo ejecutable: chmod +x ~/greet.sh
  3. Añádalo al crontab (crontab -e):
    0 10 * * * /home/user/greet.sh
    Esta entrada significa: en el minuto 0, a las 10 (10:00), todos los días del mes, todos los meses y todos los días de la semana, ejecute /home/user/greet.sh.
#!/bin/bash
# This script logs a greeting to a temporary file.
echo "Hello from Cron! The time is $(date)" >> /tmp/cron_greeting.log

Administrar sus tareas de Cron

Después de añadir tareas de cron, tendrá que administrarlas:

  • Para listar las entradas actuales de su crontab: crontab -l
  • Para eliminar todas las entradas de su crontab (úselo con mucha precaución, ya que no se puede deshacer): crontab -r

Después de realizar cambios, revise siempre su crontab con crontab -l para asegurarse de que las entradas sean correctas.

Variables de entorno de Cron

Recuerde que las tareas de cron se ejecutan en un entorno mínimo. Esto significa que a menudo no disponen de las mismas variables de entorno (como PATH) que su shell interactiva.

Si su script depende de comandos específicos, use sus rutas absolutas o defina las variables de entorno necesarias directamente al principio del archivo crontab, como PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.

Desafío de sintaxis de crontab

Debe programar un script llamado /home/user/daily_report.sh para que se ejecute a las 9:15 todos los días laborables (de lunes a viernes). ¿Qué entrada de crontab es correcta?

Recapitulación: programación con Cron dominada

¡Excelente trabajo! Ya domina los fundamentos de cron para programar tareas.

  • Ha aprendido sobre el archivo crontab y a editarlo con crontab -e.
  • Comprende los seis campos de una entrada de cron, incluidos los campos de tiempo y el comando.
  • Ha explorado los caracteres especiales y los atajos predefinidos para crear programaciones flexibles.
  • Sabe cómo administrar sus tareas con crontab -l y crontab -r.
  • También ha aprendido la importancia de las rutas absolutas y las variables de entorno en el contexto de cron.

¡Ahora vaya y automatice!

Preguntas frecuentes

¿La lección «Programación de tareas con Cron» es gratis?

Sí — el texto completo de «Programación de tareas con Cron» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Command Line & Bash Scripting Mastery, actualiza a CoddyKit PRO. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.

¿Qué aprenderé en «Programación de tareas con Cron»?

Domine la utilidad «cron» para programar la ejecución automática de scripts y comandos en intervalos u horas determinados. Practicas Linux Command Line & Bash Scripting Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Linux Command Line & Bash Scripting Mastery?

No se requiere experiencia previa. Linux Command Line & Bash Scripting Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Programación de tareas con Cron»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Linux Command Line & Bash Scripting Mastery?

Sí. Cada lección de Linux Command Line & Bash Scripting Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Programación de tareas con Cron
  2. Automatización de la administración del sistema
  3. Proyecto de scripting avanzado
  4. Rotación y limpieza automatizadas de logs
← Volver a Linux Command Line & Bash Scripting Mastery