4 formas de comprobar si cron funciona en Linux

cron es un programador de trabajos para sistemas operativos Linux y similares a Unix. Viene preinstalado en todas las distribuciones de Linux y es más adecuado para automatizar tareas repetitivas.

Para que cron funcione correctamente, debe verificar periódicamente que la utilidad esté funcionando correctamente en su sistema. Puede hacerlo de cuatro maneras diferentes, incluyendo verificar el estado del servicio cron, examinar los registros cron, ejecutar un trabajo cron de prueba y enumerar los procesos en ejecución en su sistema.

¿Qué es cron?

El gestor de trabajos silencioso, cron, automatiza y programa las tareas del sistema. Los usuarios que configuran y mantienen entornos de software utilizan cron para programar trabajos como comandos o scripts de shell (también llamados trabajos cron) para que se ejecuten periódicamente en momentos o intervalos fijos.

cron automatiza las tareas de administración o mantenimiento del sistema que quizás necesites realizar con frecuencia.

Hay varias implementaciones disponibles en Linux. La versión que tendrás depende de tu distribución. “Vixie cron”, que lleva el nombre de su desarrollador original, Paul Vixie, es común y predeterminado en Debian y Ubuntu. Arch no tiene ninguna versión de cron a favor de los temporizadores systemd.

cronie es una bifurcación de Vixie cron que está disponible como un paquete estándar de Arch. Para instalarlo utilice pacman:

 sudo pacman -S cronie 

Luego comience y habilítelo con:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Puedes ver qué versión de cron está instalada en tu sistema buscando en su página de manual:

 man cron 

Cómo comprobar si cron funciona en Linux

Estas son algunas de las formas en que puede verificar si cron funciona correctamente:

  Cómo verificar el estado del disco duro en Linux

1. Verifique el estado del servicio cron en Linux

Una forma de comprobar si cron está funcionando es comprobar el estado del servicio cron ejecutando un comando básico de Linux. Abra la terminal de Linux presionando Ctrl + Alt + T y use el comando systemctl para verificar el estado de cron:

 sudo systemctl status cron 

Si ve el siguiente resultado, esto significa que cron está activo y funcionando bien en su sistema.

Pero, ¿qué pasa si cron está en estado inactivo como se muestra a continuación?

Puede iniciar el servicio así:

 sudo systemctl start cron.service 

Después de iniciar el servicio cron, habilítelo para que se inicie cada vez que se reinicie el sistema:

 sudo systemctl enable cron.service 

2. Verifique los registros cron en Linux

Otra forma de comprobar si cron funciona correctamente es examinando los archivos de registro. Los registros cron se almacenan en el directorio /var/log/syslog en Linux.

syslog es un protocolo que utilizan los sistemas Linux para centralizar los registros de datos de eventos. Luego se accede a los registros para realizar auditorías, monitoreo, resolución de problemas, informes y otras tareas operativas de TI necesarias.

Puede ver los registros del trabajo cron en el archivo syslog ejecutando el siguiente comando:

 grep 'cron' /var/log/syslog 

Verá un resultado similar que indica que cron se está ejecutando bien y sus registros se están almacenando en el archivo de registro:

Como la carpeta syslog contiene otros registros del sistema junto con los registros cron, puede resultar un poco complicado examinar sólo los registros relacionados con cron en el archivo. Puede resolver esto creando un archivo de registro separado que solo almacene las entradas cron que aparecen en el archivo syslog.

En este ejemplo, usaremos el editor nano, pero puedes usar cualquier editor con el que te sientas cómodo.

  Cómo configurar el descargador de uGet en Linux

Abra el siguiente archivo usando nano:

 nano /etc/rsyslog.d/50-default.conf 

Ubique la línea que comienza con:

 #cron.* 

Descomente esta línea eliminando el signo almohadilla (#). Luego, guarde y salga del archivo presionando Ctrl + X, luego presione Y y presione Enter.

Reinicie el servicio rsyslog emitiendo este comando:

 sudo service rsyslog restart 

Ahora recibirá registros en el archivo cron.log ubicado en el directorio /var/log.

Si su terminal no puede recuperar ningún registro, eso podría significar que cron no se está ejecutando. En ese caso, confirme si cron está funcionando o no utilizando otros métodos.

3. Ejecutar una tarea cron en Linux

También puede verificar si cron está funcionando simplemente creando un trabajo cron de prueba y ejecutándolo. Si el trabajo logra realizar la tarea, esto significa que está funcionando bien.

Primero necesitas crear un script Bash. Las secuencias de comandos Bash le permiten automatizar las tareas cotidianas en Linux.

Creemos un script Bash que imprima «¡mi cronjob está funcionando!» en un archivo TXT. Para crear el archivo, primero busque su directorio de trabajo actual usando este comando:

 pwd 

Cree un archivo en el directorio actual usando el comando táctil:

 touch file.txt 

Después de esto, crea un archivo Bash usando nano:

 nano script.sh 

Agregue el siguiente contenido al archivo:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

Asegúrese de proporcionar la ubicación correcta del archivo de texto que creó. Guarde y salga del archivo presionando Ctrl + X, luego Y, y presione Enter.

Otorgue permisos de ejecución al script Bash:

 chmod +x script.sh 

Ahora cree un trabajo cron para ejecutar el script. Para hacer eso, abra el archivo crontab con:

 crontab -e 

Ingrese la siguiente línea al final del archivo.

 * * * * * /path/to/script.sh 

Los cinco asteriscos coinciden con la hora de ejecución, en la que el primer asterisco representa los minutos (0-59), el segundo representa las horas (en horario de 24 horas, por lo que la 1:00 pm son las 13, la medianoche comienza a las 0), el el tercer asterisco significa el día (0-7, 0 y 7 son domingo), el cuarto indica el mes y el último asterisco indica el año.

  Cómo encontrar su dirección IP en Linux

El nombre del archivo ejecutable y su ruta también se mencionan en el archivo.

Después de guardar y cerrar el archivo, verá un mensaje «crontab: instalando un nuevo crontab» en el terminal.

Para verificar si el trabajo cron funcionó o no, vaya al directorio de file.txt e imprima su contenido en la terminal usando cat:

 cat file.txt 

Esto indica que cron está funcionando bien.

4. Verifique los procesos en ejecución en Linux

Otra forma de comprobar si el demonio cron está funcionando es enumerando los procesos en ejecución en su sistema. Puedes lograr esto usando el comando ps. El demonio cron aparecerá en la salida como crond.

 ps aux | grep cron 

Esto confirma que el proceso cron se está ejecutando en su sistema Linux.

Automatizar y programar tareas del sistema con cron

cron es una de las utilidades más importantes de Linux que permite que el sistema funcione de manera eficiente. A veces es necesario comprobar si cron funciona mientras se solucionan problemas del sistema.

Puede lograr esto verificando los registros cron o viendo los procesos en ejecución en su sistema. También puede verificar el estado del cron usando la utilidad systemctl. Además de eso, ejecutar un trabajo cron de prueba también puede indicarle si el servicio se está ejecutando o no.

El buen funcionamiento de cron le permite automatizar y programar trabajos cotidianos del sistema. La mayoría de los trabajos cron son creados automáticamente por las aplicaciones instaladas. La automatización y programación de tareas mejora el rendimiento general del sistema y lo mantiene saludable.