Talleres pasados

Cómo automatizar tareas en Linux con CRON

Jueves 27 de Abril de 2023

En este taller aprendimos a utilizar CRON, una herramienta de programación de tareas automatizadas en Linux.

Te enseñamos cómo programar tareas para que se ejecuten automáticamente en un horario específico o en intervalos regulares. Además, te dimos algunos tips y trucos para que puedas maximizar el uso de esta herramienta y optimizar la administración de tu servidor.

¡Revive el taller online!

Resumen

En este artículo, exploraremos cómo automatizar tareas en Linux utilizando CRON. Esta herramienta es esencial para programar y ejecutar scripts en momentos específicos, ahorrando tiempo y esfuerzo. Vamos a profundizar en su funcionamiento y aprenderemos a utilizarla de manera efectiva.

¿Qué es CRON?

CRON es un servicio de Unix que permite a los usuarios programar tareas (comandos o scripts) para que se ejecuten automáticamente en horarios específicos. Esto es especialmente útil para la administración de sistemas, como realizar copias de seguridad, limpiar directorios, o ejecutar scripts de mantenimiento.

Configuración de CRON

Para utilizar CRON, es necesario tenerlo instalado y en funcionamiento en tu sistema. A continuación, te mostramos cómo verificar si CRON está instalado y cómo configurarlo:

  1. Verificar instalación:
sudo apt install cron

Esto instalará CRON si aún no está en tu sistema.

  1. Asegurarse de que CRON esté corriendo:
sudo systemctl status cron

Programación de tareas con CRON

La sintaxis de CRON es simple pero poderosa. Cada línea en un archivo crontab representa una tarea programada. La estructura básica es:

* * * * * comando_a_ejecutar

Cada asterisco representa un campo de tiempo (minuto, hora, día del mes, mes, día de la semana).

Por ejemplo, para ejecutar un script cada día a las 2:30 AM, agregaríamos la siguiente línea al archivo crontab:

30 2 * * * /ruta/al/script.sh

Ejemplo práctico

Supongamos que queremos crear un archivo de texto cada hora. Primero, creamos un script simple llamado crear_archivo.sh:

#!/bin/bash
touch /ruta/al/directorio/archivo_$(date +\%Y\%m\%d\%H\%M\%S).txt

Este script creará un archivo con un nombre basado en la fecha y hora actual. Luego, agregamos la tarea al crontab:

0 * * * * /ruta/al/script/crear_archivo.sh

Esta línea indica que el script se ejecutará a la hora en punto, cada hora.

Manejo de errores y logs

Es importante manejar posibles errores y registrar la salida de las tareas programadas. Esto se puede hacer redirigiendo la salida estándar y de errores a un archivo de log:

0 * * * * /ruta/al/script/crear_archivo.sh >> /ruta/al/directorio/log_cron.log 2>&1

Alternativas a CRON: Anacron

CRON asume que el sistema está en funcionamiento las 24 horas del día. Si tu sistema no está encendido continuamente, Anacron puede ser una mejor opción. Anacron ejecuta tareas periódicas, pero no requiere que el sistema esté en funcionamiento constante.

Conclusión

Automatizar tareas en Linux con CRON es una habilidad invaluable para cualquier administrador de sistemas o desarrollador. Con CRON, puedes programar scripts para ejecutarse en momentos específicos, ahorrándote tiempo y esfuerzo. Ya sea que necesites realizar copias de seguridad, limpiar directorios, o cualquier otra tarea repetitiva, CRON puede hacerlo por ti de manera eficiente.

Participantes

Ponente:

Software Development Specialist en Scalar. Docente colaborador de carrera Linux Argentina. Ha escrito numerosos artículos para DigitalOcean, Linode, Carrera Linux Argentina y Tecmint.

También te puede interesar...

Jueves 25 de Julio
Cloud, desarrollo & DevOps
Jueves 18 de Julio
Cloud, desarrollo & DevOps
Jueves 11 de Julio
Cloud, desarrollo & DevOps
Jueves 27 de Junio
Cloud, desarrollo & DevOps
Entérate de nuestros próximos talleres
Suscríbete a nuestro newsletter para recibir nuestras novedades.
Talleres nuevos todas las semanas.
Recibe nuestras novedades para no perderte ninguno.