Anacrón

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

anacron es un programa informático que realiza una programación periódica de comandos, que tradicionalmente se realiza mediante cron, pero sin asumir que el sistema está funcionando de forma continua. Por lo tanto, se puede utilizar para controlar la ejecución de trabajos diarios, semanales y mensuales (o cualquier cosa con un período de n días) en sistemas que no funcionan las 24 horas del día. Anacron fue concebido e implementado originalmente por Christian Schwarz en Perl, para el sistema operativo Unix. Posteriormente fue reescrito en C por Itai Tzur; Los mantenedores han incluido a Sean 'Shaleh' Perry y Pascal Hakim. Es una dependencia de cronie mantenida por Red Hat, y las actualizaciones de Red Hat para cronie también han incluido actualizaciones para anacron.

Ventajas

Los sistemas Unix comúnmente ejecutan "tareas de limpieza" como rotación de registros, eliminación de archivos no utilizados, indexación de archivos locales para el motor de búsqueda, envío de informes de uso del disco, etc. Se puede utilizar un programa llamado cron para programar estas tareas.

Con cron, las tareas normalmente se programan para ejecutarse cuando se espera que el sistema esté inactivo. Si el sistema está apagado en el momento en que se debe ejecutar una tarea, ésta no se ejecutará. Anacron es diferente y mueve las tareas a diferentes momentos para que se ejecuten cuando el sistema está encendido y utilizando cron.

Desventajas

Solo el administrador del sistema puede configurar tareas de Anacron. Por el contrario, cron permite a usuarios no administradores configurar tareas programadas. Si es necesario, un usuario que no sea administrador puede usar el comando at Unix para solicitar una tarea programada (que se garantiza su ejecución). Al iniciarse, este comando puede solicitar automáticamente ejecutarse en una fecha futura, dando así la apariencia de una tarea programada regularmente, con ejecución garantizada.

anacron puede ejecutar tareas solo una vez al día (o con menos frecuencia, como semanal o mensualmente). Por el contrario, cron permite que las tareas se ejecuten cada minuto (pero no garantiza su ejecución si el sistema deja de funcionar). En la práctica, esto no suele ser un problema, ya que es raro tener una tarea cuya ejecución deba garantizarse más de (al menos) una vez al día, especialmente en un sistema que no necesariamente está ejecutándose en todo momento.

Si el sistema se reinicia o inicia después de medianoche, las tareas diarias se ejecutan después de un retraso especificado por el usuario de forma sincronizada (orden secuencial), por lo que solo se ejecuta una tarea anacron a la vez. Cuando finaliza esa tarea, comienza la siguiente y así sucesivamente.

Este comportamiento se puede anular para permitir tareas simultáneas (paralelas), pero puede consumir recursos del sistema que el usuario necesita para realizar su trabajo. Por el contrario, cron solo ejecutará tareas diarias a la hora establecida (por ejemplo, en medio de la noche, cuando presumiblemente la máquina no se está utilizando).

fcron es otra implementación de cron, que intenta cumplir los roles tanto de Vixiecron como de anacron.