Cómo crear una tarea cron en Linux: Tarea cron en Ubuntu
La automatización de tareas en Linux ahora es más fácil de gestionar. Esta función se consigue mediante crontabs, que nos permite programar varias tareas que los usuarios desean realizar en un momento específico, cada una de ellas denominada tarea cron.
Las tareas cron son scripts de shell o comandos de Linux especificados en los archivos crontab, que son supervisados por el demonio cron y ejecutados en un momento determinado.
En este artículo, exploraremos cómo configurar tareas cron en Ubuntu 22.04 y cómo funcionan las tareas cron en el sistema operativo Linux.
¿Qué es una tarea cron?
Cron es un programador de tareas basado en el tiempo para distribuciones Linux/Unix. Te permite programar tareas para que se ejecuten después de un intervalo de tiempo específico. Puedes automatizar las tareas de administración y mantenimiento del sistema en el sistema operativo Linux utilizando tareas cron. También puede utilizar tareas cron en Linux para diversos fines, tales como:
- Automatizar el proceso de copia de seguridad de bases de datos, archivos y directorios del sistema a intervalos de tiempo especificados. Esto no solo garantiza la disponibilidad de los datos en caso de fallo del sistema o pérdida de datos, sino que también se centra en la integridad de los datos.
- Los administradores de Linux pueden utilizar las tareas cron de Ubuntu para generar y enviar informes automatizados a una hora programada. Estos informes proporcionan información sobre eventos de seguridad, rendimiento del sistema u otras actividades críticas. De esta manera, las tareas cron ayudan a mejorar los procesos de supervisión y toma de decisiones.
- Con crontab, puede comprobar periódicamente la disponibilidad de los servicios. Este enfoque de supervisión ayuda a detectar y resolver las interrupciones del servicio.
A continuación, veremos cómo instalar y utilizar la utilidad de tareas cron de Ubuntu.
Requisitos previos
Para instalar y utilizar las tareas cron en Ubuntu, debe cumplir los siguientes requisitos previos:
- Debe tener Ubuntu 22.04 o una versión estable en su sistema o dentro de un VirtualBox.
- Debe tener privilegios de sudo o root para instalar y ejecutar las utilidades necesarias.
Guía paso a paso: ¿Cómo crear una tarea cron en Linux?
La utilidad cron viene preinstalada en la mayoría de las distribuciones de Linux. Sin embargo, puede verificar la instalación utilizando el comando «systemctl status cron». Abra el terminal utilizando «Ctrl + Alt + t» y escriba el siguiente comando para comprobar el estado de ejecución:
$ sudo systemctl status cron
Instalación de la utilidad Cron en Ubuntu 22.04
Si obtiene el mismo resultado en su terminal, el demonio cron está en funcionamiento en su sistema Ubuntu. Pero, si no se encuentra el servicio o la utilidad cron no está instalada en tu sistema por cualquier motivo, puedes instalar la utilidad cron en tu sistema Ubuntu 22.04 siguiendo estos pasos:
Paso 1: Actualizar los paquetes del sistema
En primer lugar, se recomienda actualizar los repositorios locales del sistema, incluidos todos los paquetes, utilizando el comando «apt update»:
$ sudo apt update
Paso 2: Instalar Cron en Ubuntu
Para utilizar las tareas cron, es necesario instalar una utilidad cron en su sistema Linux. En Ubuntu 22.04, puede instalar la utilidad cron desde los repositorios predeterminados de Ubuntu apt utilizando el siguiente comando:
$ sudo apt install cron
Una vez instalada la utilidad cron en su sistema, puede programar y ejecutar tareas periódicamente en fechas, meses, semanas, horas e intervalos de tiempo específicos.
Paso 3: Habilitar e iniciar el servicio Cron
Ahora, habilite e inicie el servicio cron para que se ejecute en segundo plano, incluso si reinicia el sistema. Utilice el siguiente comando para hacerlo:
$ sudo systemctl enable cron
Después de habilitar este servicio, se creará un enlace simbólico en su sistema. Inicie el servicio cron utilizando este comando:
$ sudo systemctl start cron
Ahora, verifique de nuevo el estado de ejecución de cron. Debería aparecer el siguiente resultado en la pantalla:
Crear tareas cron en Linux
Todas las tareas cron se especifican dentro de un archivo de configuración cron Table conocido como «crontab». Por lo tanto, para crear una nueva tarea cron, debe instanciar o iniciar el crontab utilizando el siguiente comando:
$ crontab -e
Si inicia el crontab por primera vez en su sistema, deberá elegir una opción para seleccionar un editor de archivos que pueda utilizar para ejecutar sus tareas cron. Aquí, seleccionaremos el editor /bin/nano y pulsaremos Intro.
El archivo crontab se mostrará en el terminal. Este archivo rellenará el terminal con la sintaxis básica de las expresiones cron.
Aquí, verás el símbolo «#» al principio de cada línea. Este símbolo significa que se trata de una línea de comentario.
Sintaxis básica de las tareas cron
Una tarea cron se escribe en una expresión cron específica. Esta expresión consta de dos partes: la hora programada y el comando que desea ejecutar en su terminal.
Por lo general, la sintaxis de una tarea cron tiene seis parámetros o argumentos separados por espacios. Así, los cinco primeros son asteriscos que representan la hora de ejecución programada, y el otro argumento es un comando o script de shell con la ruta completa del archivo.
Cuando programa una tarea cron en su sistema, esta utiliza el patrón de cinco asteriscos (*). Cada asterisco representa la hora según el siguiente orden:
[minuto] [hora] [día del mes] [mes] [día de la semana] [comando]
Cron ejecuta los comandos solo cuando los ajustes de minuto, hora y mes coinciden con la hora actual, y al menos una de las configuraciones del día, ya sea el día del mes o el día de la semana, coincide con la fecha actual. Puede utilizar valores específicos permitidos para estos ajustes:
Expliquemos la sintaxis de la hora de ejecución de cron con la ayuda de un ejemplo:
Ejemplo
Por ejemplo, desea ejecutar una tarea cron a las 2 p. m. todos los miércoles. En este caso, la sintaxis de la tarea cron será:
0 12 * * 3 <comando>
En la expresión cron anterior, «0» significa que la tarea cron se ejecutará una vez, «12» significa que la tarea cron se ejecutará a las 12 p. m. (en formato 24 horas), «* *» significa que la tarea se ejecutará todos los días de todos los meses y «3» representa que se ejecutará los miércoles.
Veamos otro ejemplo: quieres mostrar una «cadena de mensaje» con una fecha cada minuto utilizando el comando echo. Esta cadena se añadirá al archivo «testfile.text».
* * * * echo «Bienvenido, $date» >> $HOME/Documents/testfile.txt
El comando anterior creará un archivo en el directorio home/Documents de tu sistema con el nombre «testfile.txt».
Abre este archivo y verás el siguiente contenido:
Gestionar tareas cron en Linux
Una vez creada una tarea cron, puedes gestionarla fácilmente. Es importante tener cuidado al trabajar con crontab, ya que una configuración incorrecta puede dar lugar a resultados inesperados. También es importante supervisar y probar regularmente las tareas programadas para garantizar que los procesos automatizados se ejecutan correctamente.
Para enumerar todas las tareas cron, puede mostrarlas con el siguiente comando:
$ crontab -l
Como puede ver en la captura de pantalla, solo se ejecuta una tarea cron, que es la creada anteriormente.
Enumerar las tareas cron propiedad de los usuarios en Linux
Del mismo modo, también puede gestionar las tareas cron propiedad de los usuarios. Los archivos crontab de cada usuario se almacenan en el área de cola. Si enumera todos los archivos del directorio spool, puede realizar un seguimiento sencillo de los archivos crontab propiedad de los usuarios utilizando el siguiente comando:
$ ls /var/spool/cron/crontabs
También puede enumerar los archivos crontab propiedad de los usuarios utilizando el siguiente comando con privilegios de «root»:
$ crontab -u <nombre de usuario> -l
Sustituya «nombre de usuario» por su nombre de usuario.
Eliminar una tarea cron de Ubuntu
Si desea eliminar una tarea cron en Linux, utilice el siguiente comando:
$ crontab -r
Para eliminar una tarea cron de un usuario específico, utilice este comando:
$ crontab -r -u <nombre de usuario>
Editar una tarea cron
Si desea editar un archivo para un usuario específico, puede editar la tarea cron utilizando el siguiente comando:
$ crontab -u <nombre de usuario> -e
Listar el registro de tareas cron
De forma predeterminada, las actividades y los registros relacionados con el servicio cron se almacenan en el archivo de registro global ubicado en «/var/log/syslog». Para ver específicamente la actividad y los mensajes del servicio cron, puede utilizar el comando «grep» para filtrar y extraer la información relevante del archivo syslog.
$ grep CRON /var/log/syslog
Esto le permite aislar y mostrar solo las entradas relacionadas con las actividades del servicio cron.
También puede gestionar los archivos crontab de todo el sistema. Estos crontabs del sistema, que contienen tareas programadas para todo el sistema, están restringidos al usuario root. No pueden ser modificados por ningún otro usuario.
A diferencia de los crontabs específicos de cada usuario, no existe un comando «crontab» específico para editar directamente estos archivos crontab del sistema. En su lugar, los administradores del sistema deben acceder y editar estos archivos directamente para realizar cualquier cambio o adición a las tareas programadas en todo el sistema. Para acceder al contenido de estos archivos de todo el sistema, utilice el comando que se proporciona a continuación:
$ nano /etc/crontab
Si utiliza alojamiento VPS para su sistema Linux, siga los pasos anteriores para añadir nuevas tareas cron utilizando crontabs. Del mismo modo, utilizando diferentes herramientas, puede gestionar fácilmente las tareas cron en su máquina.
Conclusión
En esta guía, hemos aprendido a utilizar la utilidad cron en Ubuntu 22.04 para automatizar tareas en Linux. Cron es una utilidad que le ayuda a planificar y configurar tareas para que se ejecuten a horas específicas, en días concretos o a intervalos regulares.
Cron es una herramienta muy útil que suelen utilizar los administradores de sistemas para facilitar su trabajo. Después de leer esta guía, ya debería tener un buen conocimiento de cómo utilizar cron para programar tareas en sus sistemas Linux.
Si necesita más información, siempre puede consultar la página oficial de documentación de Cron o visitar la página del manual de crontab. Para obtener ayuda sobre crontab, utilice el comando «man cron» a través del terminal.
Blog