Búsqueda de sitios web

Cron Vs Anacron_ Cómo programar trabajos usando Anacron en Linux


En el mundo de Linux, programar tareas es una tarea importante que los administradores deben realizar de forma regular. Esto se hace para automatizar el proceso de realización de tareas rutinarias y garantizar que se ejecuten en el momento adecuado. Hay dos herramientas populares que se utilizan para programar tareas en Linux: cron y anacron. Ambas herramientas tienen sus propias características y beneficios únicos.

En esta publicación de blog, discutiremos las diferencias entre cron y anacron y luego demostraremos cómo usar anacron para programar tareas en un sistema Linux.

Cron vs Anacron: ¿Cuál es la diferencia?

Antes de aprender a programar trabajos usando Anacron, veamos la diferencia entre Cron y Anacron.

cron

Cron es un programador de trabajos basado en el tiempo que se ejecuta en sistemas operativos tipo Unix. Se utiliza para programar trabajos para que se ejecuten en momentos o intervalos específicos. Cron es ideal para programar trabajos que deben ejecutarse a intervalos regulares, como cada hora, día, semana o mes. Cron es una herramienta poderosa y flexible, pero tiene una limitación importante. Se supone que el sistema siempre está ejecutándose y, si el sistema se apaga o se reinicia, no se ejecutarán los trabajos programados.

Anacrón

Anacron, por otro lado, es una herramienta similar a cron que está diseñada para funcionar con sistemas que no siempre están en ejecución. Anacron es ideal para sistemas que se apagan o reinician periódicamente, como computadoras portátiles o de escritorio. Anacron también se puede utilizar en servidores, pero no es tan eficiente como cron para programar trabajos que deben ejecutarse en momentos específicos.

Anacron funciona realizando un seguimiento de la última vez que se ejecutó un trabajo. Luego calcula la próxima vez que se debe ejecutar el trabajo según el intervalo especificado en el archivo de configuración. Si el sistema se apaga o reinicia antes de que se pueda ejecutar el trabajo, Anacron ejecutará el trabajo la próxima vez que se inicie el sistema.

En este tutorial, cubriremos cómo instalar y configurar Anacron en Ubuntu y demostraremos cómo programar un trabajo usando Anacron.

Uso de Anacron para programar trabajos

Ahora que hemos discutido las diferencias entre cron y anacron, veamos cómo usar anacron para programar trabajos en un sistema Linux. Asumiremos que tiene conocimientos básicos de la línea de comandos de Linux.

Paso 1: instalar Anacron

El primer paso es asegurarse de que Anacron esté instalado en su sistema Linux. Para hacer esto, abra una ventana de terminal y escriba el siguiente comando:

sudo apt-get install anacron

Este comando instalará Anacron en un sistema basado en Debian. Si está utilizando una distribución de Linux diferente, el comando puede ser ligeramente diferente.

Paso 2: crear un trabajo

El siguiente paso es crear un trabajo que queremos programar usando Anacron. En este ejemplo, crearemos un script bash simple que imprimirá la fecha y hora actuales en un archivo. Abra un editor de texto y cree un nuevo archivo llamado "myjob.sh". Agregue las siguientes líneas al archivo:

#!/bin/bash echo "The current date and time is $(date)" >> /var/log/myjob.log

Guarde el archivo y hágalo ejecutable escribiendo el siguiente comando:

chmod +x myjob.sh

Paso 3: configurar Anacron

El siguiente paso es configurar Anacron para ejecutar nuestro trabajo. Anacron utiliza un archivo de configuración llamado "anacrontab" para definir trabajos y sus intervalos de programación. Abra una ventana de terminal y escriba el siguiente comando para editar el archivo anacrontab:

sudo nano /etc/anacrontab

Esto abrirá el archivo anacrontab en el editor de texto Nano. El archivo anacrontab tiene el siguiente formato:

period delay job-identifier command

Echemos un vistazo más de cerca a cada uno de estos parámetros:

  • Punto − El parámetro de período especifica el tiempo en días entre dos ejecuciones sucesivas del trabajo. Por ejemplo, si desea ejecutar un trabajo todos los días, establecerá el período en 1. Si desea ejecutar el trabajo todas las semanas, establecerá el período en 7.

  • Retraso − El parámetro de retraso especifica el tiempo en minutos que Anacron esperará antes de ejecutar el trabajo después de que se haya iniciado el sistema. Este parámetro es útil si desea escalonar la ejecución de trabajos para evitar sobrecargar el sistema durante el inicio. El retraso predeterminado es de 5 minutos.

  • Identificador de trabajo − El trabajo- El parámetro de identificador es un identificador único para el trabajo. Anacron utiliza este parámetro para realizar un seguimiento de qué trabajos ya se han ejecutado. El identificador del trabajo debe ser único para cada trabajo y no debe contener espacios.

  • Comando − El parámetro del comando es el comando que se ejecutará cuando se ejecute el trabajo. Puede ser cualquier comando de shell, script o ejecutable válido.

Agregue la siguiente línea al final del archivo anacrontab para definir nuestro trabajo:

1 5 myjob /path/to/myjob.sh

Esta línea define un trabajo con un período de 1 día y un retraso de 5 minutos. El identificador del trabajo es "mitrabajo" y el comando es "/ruta/a/mitrabajo.sh". Esto significa que Anacron ejecutará el trabajo una vez al día, y si el sistema se apaga o reinicia antes de que se pueda ejecutar el trabajo, Anacron lo ejecutará la próxima vez que se inicie el sistema, siempre y cuando hayan pasado al menos 5 minutos desde la última vez que se ejecutó el trabajo.

Guarde el archivo anacrontab y salga del editor de texto.

Paso 4: Pruebe el trabajo

El último paso es probar el trabajo para asegurarse de que esté funcionando correctamente. Para hacer esto, abra una ventana de terminal y escriba el siguiente comando:

sudo anacron -f

Este comando obligará a Anacron a ejecutar todos los trabajos programados inmediatamente. Anacron también ejecutará cualquier trabajo que se haya perdido debido al apagado o reinicio del sistema.

Verifique el archivo /var/log/myjob.log para asegurarse de que el trabajo se ejecutó correctamente. Debería ver una línea en el archivo de registro que contiene la fecha y hora actuales.

Programar un trabajo con Anacron

Para programar un trabajo con Anacron, necesita crear una nueva entrada en el archivo de configuración /etc/anacrontab. Por ejemplo, digamos que desea programar un trabajo para eliminar archivos de registro antiguos cada 30 días. Agregaría la siguiente línea al archivo de configuración:

30 5 cleanup / usr/local/bin/cleanup-script.sh

Esta línea especifica que el script cleanup-script.sh se ejecutará cada 30 días con un retraso de 5 minutos después de que se haya iniciado el sistema. El identificador de trabajo para este trabajo es "limpieza".

Después de agregar la entrada, guarde el archivo de configuración y salga del editor de texto.

Anacron ejecutará automáticamente el trabajo la próxima vez que se inicie el sistema y posteriormente cada 30 días. Si el sistema no se encendió durante el tiempo programado, Anacron ejecutará el trabajo la próxima vez que se encienda el sistema.

Conclusión

En esta publicación de blog, analizamos las diferencias entre cron y anacron y demostramos cómo usar Anacron para programar trabajos en un sistema Linux. Anacron es una herramienta útil para programar trabajos en sistemas que no siempre están en ejecución, como computadoras portátiles o de escritorio. Anacron garantiza que los trabajos se ejecuten incluso si el sistema se apaga o reinicia, siempre que haya pasado el retraso especificado en el archivo de configuración. Con Anacron, puedes automatizar tareas rutinarias y asegurarte de que se ejecuten en el momento adecuado, sin tener que preocuparte por si el sistema está funcionando o no.

Artículos relacionados: