Introducción
En Linux, automatizar tareas recurrentes es esencial para el mantenimiento del sistema. Ya sea para ejecutar copias de seguridad diarias, limpiar archivos temporales o generar informes semanales, estas tareas se gestionan mediante una utilidad del sistema llamada Cron.
Cron es un programador de tareas basado estrictamente en el tiempo. Utiliza una sintaxis de configuración específica para determinar exactamente cuándo debe ejecutar los comandos. La tabla de configuración suele denominarse «crontab».
Cron forma parte de la cultura de Unix desde hace décadas. Mucho antes de las plataformas modernas de flujos de trabajo y los programadores en la nube, los administradores confiaban en cron para ejecutar copias de seguridad, tareas de limpieza, informes y labores de mantenimiento en horarios predecibles.
Al principio, una entrada de crontab como 0 2 * * * puede resultar confusa. En este laboratorio, aprenderá a interpretar y escribir esta sintaxis. Usted:
- Explorará el crontab del sistema: consultará el archivo de configuración global de cron.
- Descifrará la sintaxis: comprenderá los 5 campos de fecha y hora.
- Preparará una programación: construirá una expresión de cron válida para una tarea diaria.
Consultar la tabla de cron del sistema
Una forma rápida de comprender la sintaxis de cron consiste en consultar el archivo de configuración de todo el sistema, /etc/crontab. Este archivo suele incluir un encabezado útil que explica la distribución de los campos.
Este archivo sirve tanto como configuración real como referencia didáctica. Muchos sistemas Linux incluyen comentarios aquí porque la sintaxis de cron es compacta y potente, pero puede interpretarse incorrectamente hasta que se comprende el orden de los campos.
Ejecute el siguiente comando para consultarlo:
cat /etc/crontab
En la salida, busque la sección Example of job definition (las líneas pueden variar ligeramente según la distribución):
## .---------------- minute (0 - 59)
## | .------------- hour (0 - 23)
## | | .---------- day of month (1 - 31)
## | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
## | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
## | | | | |
## * * * * * user-name command to be executed
El diagrama muestra que cada programación de cron consta de 5 campos seguidos del comando que se ejecutará:
- Minuto (0-59)
- Hora (0-23, formato de 24 horas)
- Día del mes (1-31)
- Mes (1-12)
- Día de la semana (0-7, donde tanto 0 como 7 representan el domingo)
El asterisco * es un comodín que significa «cada» o «todos». Por ejemplo, * en el campo Mes significa «todos los meses».
Las expresiones de cron son compactas porque cada campo restringe la programación. En conjunto, los campos describen un momento que se repite. Leerlos de izquierda a derecha como minuto, hora, día, mes y día de la semana es uno de los hábitos más importantes que debe adquirir desde el principio.
Ejemplo: 17 * * * * significa «en el minuto 17 de cada hora, todos los días».
Preparar un archivo de sintaxis
Ahora que comprende la estructura, practique la escritura de una entrada.
Creará un archivo de texto para preparar la expresión de cron. Esta es una buena práctica antes de añadirla al programador real del sistema.
Este paso de preparación es importante porque una entrada de cron es simplemente texto sin formato, pero produce efectos reales una vez instalada. Escribir la expresión por separado le ayuda a pensar en la programación antes de convertirla en automatización.
Asegúrese de encontrarse en la carpeta del proyecto:
cd ~/project
Cree un archivo vacío llamado cron_syntax.txt:
touch cron_syntax.txt
Compruebe que existe:
ls -l cron_syntax.txt
Escribir la sintaxis de una programación diaria
Su tarea consiste en construir una expresión de cron para una tarea que debe ejecutarse «Todos los días a las 2:00 a. m.».
Desglose los 5 campos necesarios:
- Minuto: se necesita exactamente la hora 2:00. Es el minuto 0. Valor:
0. - Hora: se necesitan las 2 a. m. en formato de 24 horas. Valor:
2. - Día del mes: debe ejecutarse todos los días del mes. Valor:
*. - Mes: debe ejecutarse todos los meses del año. Valor:
*. - Día de la semana: debe ejecutarse independientemente del día de la semana. Valor:
*.
Al combinar estos valores, la expresión es: 0 2 * * *.
Añada esta sintaxis al archivo:
echo "0 2 * * *" >> cron_syntax.txt
Compruebe la entrada:
cat cron_syntax.txt
La sintaxis 0 2 * * * indica al sistema: «Cuando el minuto sea 0 Y la hora sea 2, ejecute el comando».
Este es el modelo mental que debe conservar: cron compara la hora actual con los cinco campos. Cuando la hora actual coincide con el patrón, cron inicia la tarea.
Resumen
En este laboratorio, aprendió los fundamentos de la programación de tareas con cron:
- Configuración del sistema: exploró
/etc/crontabpara consultar la estructura estándar. - Estructura de los campos: identificó los 5 campos: minuto, hora, día del mes, mes y día de la semana.
- Escritura de expresiones: creó correctamente la sintaxis de una tarea diaria (
0 2 * * *).
Comprender esta sintaxis es fundamental para automatizar cualquier tarea rutinaria en un entorno Linux.



