Cargando



Cómo crear Tareas sin Cron en Linux

Tutorial con vídeo para saber cómo crear Tareas sin Cron en Linux de diferentes formas.


jun 27 2023 15:40
Intermedio
Total de Apartados : 3

Para estar al día, recuerda suscribirte a nuestro canal de YouTube!
SUSCRIBETE EN YOUTUBE

 

 

Crear tareas automáticas en Linux puede parecer una tarea ardua pero lo que muchos usuarios no saben es que dentro de la propia distribución existe un método para este tipo de segmento y es cron, cron hace uso de un daemon llamado crond el cual se encarga de leer los diversos archivos de configuración y existe un archivo cron para cada usuario en el directorio /etc/cron.d/ y el archivo /etc/crontab es para todo el sistema, con esto se permite a cada usuario administrar sus trabajos programados y el archivo de configuración cron.

 

Solvetic te explicará algunos métodos diferentes al uso nativo de cron para realizar tareas programadas y lo veremos en detalles en este tutorial que te mostrará diferentes formas para poder Crear Tareas Sin Cron en Linux.

 

Tutorial para saber ejecutar .exe Linux o instalar .exe en Linux usando Ubuntu.

 


1 Cómo crear Tareas sin Cron en Linux usando Sleep Loop

 

Nuestro primer método es sleep loop el cual, como su nombre indica, es un pequeño script o comando que hará que nuestra distribución pueda estar en el modo de suspensión o hibernación durante un tiempo específico para posterior a ello activarlo nuevamente, puede ser usado para tareas como ahorro de energía, pruebas administrativas o llevar a cabo algunas condiciones como será nuestro ejemplo.

 

Paso 1

Para usar este comando vamos a abrir la terminal y luego ejecutar un comando similar a este según sea el caso:
while true; do date >> nombre.txt ; sleep # ; done &

 

Paso 2

En este comando hemos indicado los parámetros necesarios de ejecución de la tarea, estos son:

 

  • while true: este valor hará que el script sea ejecutado siempre y cuando la condición sea verdadera, cumple la función de un bucle el cual permite que el comando se ejecute una y otra vez de forma repetitiva
  • do: hará la ejecución del comando o de los comandos que están disponibles antes de la instrucción do
  • date >> nombre.txt: esta es la salida para el comando de fecha el cual a su vez se escribe en el archivo
  • nombre.txt, los signos >> permiten que no se sobrescriba el archivo con cada ejecución del script
  • sleep #: indica al shell que conserve ese rango de tiempo de # segundos antes de ejecutarse de nuevo
  • done: se encarga de marcar el final de un ciclo while
  • &: hará que todo el proceso sea un bucle en segundo plano

 

Paso 3

Ahora abrimos la ruta donde fue creado el archivo y allí lo veremos:

 

 

Paso 4

Es posible abrirlo para ver el contenido creado:

 

 


2 Cómo crear Tareas sin Cron en Linux usando Systemd


Systemd es el sistema de inicio por defecto de Linux y como tal integra una función de temporizador con la cual podremos crear nuestras tareas de una manera simple y segura.

 

Paso 1

Vamos a abrir la terminal y crearemos unidad timer (.timer) con el nombre deseado usando la siguiente sintaxis:
sudo nano /etc/systemd/system/nombre.timer

 

Paso 2

Pulsamos Enter, ingresamos la contraseña y allí registramos la siguiente información:
[Unit]Nombre Job Timer
[Timer]
OnCalendar=*-*-* 00:00:00
# Reemplazar con los valores deseados para programar
[Install]
WantedBy=timers.target

 

 

Paso 3

Algunas de las opciones que podemos usar en la sección OnCalendar son:

 

  • Anual (Yearly): anual
  • Mensual (Monthly): mensual
  • Semanal (Weekly): semanal
  • Diario (Daily): diario o medianoche
  • Por hora (Hourly): por hora
  • Minutos (Minutes): es posible indicar un minuto específico con el formato *:MM ( *:15 por cada 15 minutos) o un rango específico con la sintaxis MM-MM (20-30 por cada minuto de 20 a 30)

 

Paso 4

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

Paso 5

Después de esto ejecutamos el siguiente comando para crear el servicio usando el editor deseado:
sudo nano /etc/systemd/system/nombre.service

 

Paso 6

Al crear el archivo ingresamos el siguiente contenido:
[Unit]
Description=Nombre
[Service]
ExecStart=/ruta/archivo.sh
# Reemplazar la ruta por el comando o script .sh
[Install]
WantedBy=multi-user.target

 

Paso 7

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

Paso 8

Una vez hayas realizado esto vamos a habilitar el servicio con el comando:
sudo systemctl enable nombre.timer

 

Paso 9

Ahora vas a iniciar el servicio usando el comando:
sudo systemctl start nombre.timer
Paso 10

A partir de este momento en base a la estructura creada se ejecutará la tarea.

 

 

 

 

 

 

 


3 Cómo crear Tareas sin Cron en Linux usando Anacron


Anacron es una utilidad para ejecutar comandos de forma periódica usando una frecuencia en días, puede ser usado equipos que no trabajan las 24 horas del día y permite controlar trabajos rutinarios con frecuencias diarias, semanales y mensuales.

 

Anacron lee la lista de trabajos alojadas en el archivo de configuración /etc/anacrontab y allí cada entrada de trabajo indica el período en días, el retraso en minutos, un identificador de trabajo único y un comando de Shell, así Anacron revisara si ese trabajo ya fue ejecutado en los últimos n días, (n es el período especificado para esa tarea), de no ser así, se ejecutara el comando de shell del trabajo.

 

Opciones
Sus opciones de uso son:
  • -s: administra la ejecución de trabajos
  • -f: Forza la ejecución de trabajos aun antes de su tiempo
  • -n: ejecuta trabajos sin demora, requiere usarse con -s
  • -d: No se ejecuta en segundo plano el proceso
  • -q: borrar los mensajes stderr
  • -u: actualiza las marcas de tiempo sin ejecutarse algo extra
  • -t: hace uso de anacrontab
  • -V: Imprime la información de la versión
  • -h: imprime la ayuda
  • -T; hace pruebas de anacrontab
  • -S: selecciona un directorio de spool diferente

 

 

Paso 1

Para iniciar abrimos la terminal y vamos a instalar Anacron con el siguiente comando:
sudo apt install anacron

 

Paso 1

En este caso usamos Ubuntu, para otras distros podemos ejecutar:
sudo yum install anacron (RHEL/CentOS/Fedora and Rocky/AlmaLinux)
sudo pacman -S anacron ( Arch Linux)
sudo zypper install anacron (OpenSUSE)
Paso 2

Ahora vamos a acceder al archivo de edición de Anacron con el siguiente comando:
sudo nano /etc/anacrontab

 

Nota
es posible crear nuestro propio archivo si es necesario.

 

Paso 3

Veremos lo siguiente: Allí están las tareas predefinidas de Anacron, en la parte final ingresamos nuestra tarea:

 

 

 

Paso 4

Allí podemos ingresar valores numéricos o precedidos de @ si deseamos (@daily, @weekly, @monthly, o @yearly).

 

Aplicamos los cambios y así estará lista la tarea programada con Anacron.

 

 

Cada una de estas opciones es una alternativa al ya conocido cron de Linux y cada una permite programas nuestras tareas de forma integral.

Tutorial con vídeo para ver Usuarios del Sistema Linux de forma completa.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X