Cron Alternatives Featured Image

7 alternativas útiles de cron para Linux

Para aquellos que están familiarizados con el sistema Unix, también estarán familiarizados con la aplicación cron que le permite programar y automatizar tareas para que se ejecuten por su cuenta. Incluso tenemos tutoriales que le muestran cómo comenzar con cron y crontabs. Sin embargo, cron no es perfecto, ya que requiere que su sistema esté funcionando las 24 horas del día. Si tiene la costumbre de apagar su computadora por la noche y un trabajo cron está programado para las horas de sueño, la tarea no se ejecutará. Afortunadamente, hay varias alternativas de cron que pueden hacer un mejor trabajo que cron. Echémosles un vistazo.

1. Anacron

Anacron es un programador de comandos periódicos como cron. La única diferencia es que no necesita que tu computadora esté siempre funcionando. Puede programar su tarea para que se ejecute en cualquier momento. Cuando su computadora está apagada, la tarea se ejecutará la próxima vez que encienda la computadora.

Para comenzar, simplemente instale anacron en tu sistema Está disponible en la mayoría de los administradores de paquetes. Use el siguiente comando para instalar en Ubuntu:

Anacron funciona de manera similar a cron. Puede agregar su trabajo a la /etc/anacrontab expediente.

La sintaxis para agregar un trabajo es

period   delay-after-computer-start   job-identifier   command

Por ejemplo, para ejecutar un script de respaldo todos los días, puede agregar el siguiente comando:

1   15    cron.daily     /bin/sh /home/ramces/backup.sh

La desventaja de anacron es que solo se ocupa de tareas en un horario diario, semanal o mensual. No se puede utilizar para un horario por horas o minutos.

2. Compañero

Otra brillante alternativa de cron que puedes instalar hoy es Compañero. A diferencia de las entradas anteriores, Cronie es un pequeño paquete de software que tiene como objetivo proporcionar una experiencia cron completa. Para hacer eso, Cronie incluye el paquete anacron por defecto. Esto significa que cronie puede proporcionar una programación de trabajos sincrónica y asincrónica lista para usar.

Página web de Cronie de alternativas de Cron

Además, la instalación de cronie es relativamente sencilla. Primero, necesita obtener el código fuente del programa de su página de Github:

wget https://github.com/cronie-crond/cronie/releases/download/cronie-1.6.1/cronie-1.6.1.tar.gz

Alternativas a Cron Descargar Cronie Tar

Una vez hecho esto, descomprima el archivo ejecutando tar en la terminal:

cd Downloads
tar xvzf cronie-1.6.1.tar.gz

Desde allí, ve al directorio de Cronie y compila el código fuente del programa:

cd cronie-1.6.1/
./configure
make
sudo make install

Compilación de Cronie de alternativas de Cron

Una vez hecho esto, ahora puede usar Cronie para administrar los trabajos cron en su máquina. Similar a anacron y cron, puede crear un trabajo cron ejecutando crontab -e. Esto le permitirá editar el crontab de su usuario específico. Sabiendo eso, Cronie también sigue el formato estándar:

* * * * 0 /your/command/here

3. fcron

fcron es lo mejor de cron y anacron. No requiere que su computadora esté funcionando las 24 horas del día, los 7 días de la semana, y puede trabajar con tareas por hora o por minuto.

La única forma de instalar Fcron es descargar el archivo fuente y compilarlo usted mismo.

  1. Descargar el archivo fuente aquí.
  2. Extraiga el archivo. Abra una terminal y cambie la ruta del archivo a la carpeta del archivo extraído.
  3. Ejecute los siguientes comandos:
./configure
make
sudo make install

Le hará algunas preguntas durante la instalación y puede responder con seguridad «y» (sí) para todas ellas.

Para comenzar a crear un trabajo fcron, simplemente escriba fcron -e en la terminal

Muestra de alternativas de Cron Crontab

La sintaxis de fcron es similar a cron:

minute  hour  day-of-month  month  day-of-week  command-to-be-executed

y viene con más opciones que cron, como configurar una tarea para que se ejecute entre un intervalo de tiempo.

Para aquellos que prefieren una GUI, pueden consultar fcronq

4. cron

Bcron es una alternativa simple y moderna al programa cron estándar. Al igual que Cronie, bcron tiene como objetivo proporcionar un conjunto de software que gestione la programación de trabajos de su sistema. Lo hace separando todas las funciones de los componentes de cron en sus propios programas respectivos. Esto, a su vez, permite que bcron sea altamente modular y seguro.

Alternativas a Cron Página web de Bcron

Con eso, instalar bcron es increíblemente fácil. En eso, si está usando Debian o Ubuntu, puede instalar el programa a través de apt:

Alternativas a Cron Instalación de Bcron

Una vez hecho esto, ahora puede usar bcron para programar tareas en su sistema. Para hacer eso, primero debe ejecutar el siguiente comando para habilitar el programa:

envdir /etc/bcron bcron-start
envdir /etc/bcron bcron-update /etc/crontab /etc/cron.d

El primer comando iniciará bcron en su sistema, mientras que el segundo le indicará a bcron que abra y actualice los archivos crontab y cron.d. A partir de ahí, la sintaxis para crear una nueva tarea es similar tanto a anacron como a cronie. Por ejemplo, puedo escribir la siguiente línea para decirle a bcron que ejecute mi script cada 5 a. m. el día 1 de cada mes:

0 5 1 * * /my/monthly/script.sh

5. Hcron

Hcron es relativamente desconocido, pero eso no lo hace menos útil. De hecho, viene con varias características que lo hacen único. Por ejemplo, puede etiquetar y organizar fácilmente sus trabajos de tipo cron, administrar una red de computadoras y los archivos crontab de sus usuarios, realizar copias de seguridad fácilmente y controlar la versión de sus trabajos de tipo cron.

Para instalar hcron, descargar el archivo .deb (o archivo .rpm, dependiendo de su sistema Linux) e instálelo en su sistema.

Hcron almacena cada evento como un archivo de texto sin formato. Para comenzar, simplemente cree un archivo de texto con el comando:

hcron-event /path/to/event-file.txt

En el editor de texto que se abre, puede completar los detalles del evento.

Ejemplo de archivo Hcron de alternativas de Cron

Hay muchas más cosas que puedes hacer con hcron y es recomendable descargar el guía del usuario para tener una mejor comprensión de cómo funciona.

6. intermediario

Corredor es un programador de tareas escrito en GO y es una herramienta más poderosa que cron. Cuenta con un historial de ejecución de trabajos con estado, controlando si un trabajo se ejecuta nuevamente después de que falla y cuándo, y recibe notificaciones sobre cada ejecución fallida o solo sobre los trabajos que se deshabilitaron debido a fallas repetidas.

Para instalar Jobber, debe asegurarse de que GO esté instalado en tu sistema A continuación, escriba los comandos:

cd /path/to/your/go/workspace
go get github.com/dshearer/jobber
make -C src/github.com/dshearer/jobber

Después de la instalación, inicie Jobber con el comando:

sudo /usr/local/sbin/jobberd start

Para crear trabajos, cree un archivo llamado «.jobber» en su directorio de inicio y agregue el trabajo en el siguiente formato:

- name: #Enter the job name here
  cmd: #the command to run
  time: #as the same as cron format
  onError: #Stop | Backoff | Continue
  notifyOnError: #false | true
  notifyOnFailure: #false | true

Como puede ver en el formato, le permite definir las acciones a tomar cuando tiene errores («Detener», «Retroceder» o «Continuar») y si debe notificarle cuando falla.

Una vez que haya actualizado la lista de trabajos, use jobber reload para que Jobber vuelva a cargar la nueva lista.

En cualquier momento, puede utilizar jobber log para ver una lista de ejecuciones recientes de cualquier trabajo.

7. micrones

Mcron es un programa de programación de tareas rápido e innovador para Linux. Similar a los programas anteriores, mcron tiene como objetivo brindarle una forma simple de administrar los scripts y programas que desea ejecutar en su sistema. A diferencia de los programas anteriores, mcron también tiene como objetivo redefinir la programación de tareas mediante la reconstrucción de trabajos cron desde cero.

Alternativas a Cron Página web de Mcron

Con eso, instalar mcron es increíblemente simple. Está disponible tanto en Debian como en Ubuntu y puede obtenerlo fácilmente ejecutando lo siguiente:

Alternativas de Cron Instalación de Mcron

Una vez hecho esto, ahora puede comenzar a usar mcron como su programador. Para hacer eso, primero debe crear el directorio donde mcron buscará sus tareas:

mkdir /home/$USER/.config/
touch /home/$USER/.config/cron

A partir de ahí, ahora puede editar este archivo cron para que contenga todos los trabajos que desea que realice mcron. A diferencia de los programas anteriores, mcron utiliza una sintaxis alternativa para programar:

(job '(type '(range)) "command")
  • los job La función le dice a mcron que esta línea de Lisp contiene una tarea que necesita programar.
  • los type y range son listas que contienen la información de tiempo para mcron. En eso, el tipo controla la escala en la que operará mcron mientras que el rango determina el intervalo de tiempo para esa escala.
  • Por último, el command es una cadena que le dice a mcron qué comando o programa necesita ejecutar.

Con eso, puedo escribir lo siguiente en mi archivo .config/cron para ejecutar mi script una vez por hora durante tres horas al día:

(job '(next-hour '(1 4 8)) "my-script.sh")

Preguntas frecuentes

¿Es posible usar la sintaxis cron normal con mcron?

Además de ser un programador de tareas innovador, mcron también pretende ser compatible con versiones anteriores de la sintaxis cron anterior. Como tal, también puede usar una sintaxis similar a crontab para su archivo .config/cron. Por ejemplo, puedo escribir la siguiente línea para decirle a mcron que quiero ejecutar mi script una vez al día a la medianoche:

0 0 0 * * /path/to/my/script.sh

Sin embargo, una cosa importante a tener en cuenta es que escribir sus tareas programadas de esta manera no le permitirá usar las funciones más amplias y flexibles de mcron.

¿Es posible evitar que cron envíe correo a mi cuenta de usuario?

Es posible evitar que cron envíe cualquier correo del sistema a su usuario. Para hacer eso, deberá editar su crontab y proporcionar un MAILTO variable con un valor de nobody. Por ejemplo, este es un extracto de un crontab donde he deshabilitado el correo del sistema:

MAILTO=nobody
* * 1 * * /first/script/here.sh
0 0 * * * /second/script/here.sh

Sabiendo eso, también puede usar esta sintaxis para redirigir la salida crontab de otro usuario a un usuario diferente. Por ejemplo, puede configurar fácilmente esta variable en el crontab del usuario raíz para obtener el resultado de todas las tareas programadas que se están ejecutando.

¿Cuál es la mejor alternativa de cron para mí?

Si bien esta es una pregunta muy subjetiva, una buena alternativa de cron debería poder hacer todo lo que pueda necesitar para su caso de uso específico. Por ejemplo, es posible que desee considerar el uso de programadores de tareas más simples, como anacron y cronie, si solo planea usar cron para tareas básicas ocasionales.

Por otro lado, un programador de tareas más flexible y potente, como mcron, le permitirá crear secuencias de comandos y definir el comportamiento del propio cron. Sin embargo, usar mcron incluso para tareas básicas puede ser desalentador para el principiante no iniciado.

Credito de imagen: Unsplash

Experto Geek - Tu Guía en Tendencias Tecnológicas