Cómo programar una tarea en Linux?

Cómo programar una tarea en Linux?
Siempre que use un sistema operativo basado en UNIX, ciertas tareas se realizarán repetidamente. Ejecutarlos manualmente cada vez es lento e ineficiente en general. Para resolver este problema, Unix viene con sus programadores de tareas incorporados. Estos programadores de tareas actúan como un despertador inteligente. Cuando suena la alarma, el sistema operativo ejecutará la tarea predefinida.

En el caso de Linux, viene con dos herramientas básicas pero potentes: Cron Daemon (programador de tareas predeterminado) y AT (más adecuado para la programación de tareas únicas).

En esta guía, consulte cómo programar una tarea en Linux.

Programar tareas en Linux

Cron
El Cron Daemon es responsable de ejecutar muchos trabajos en momentos específicos. Estas tareas generalmente se ejecutan en segundo plano en los tiempos programados. Ofrece una gran flexibilidad independientemente de la tarea, independientemente del intervalo (hora, semana, mes, año o lo que sea).

Cron realiza un seguimiento de sus acciones utilizando el archivo CRONTAB. El archivo CRONTAB es un script que contiene toda la información necesaria para ejecutar todos los trabajos cron.

Echemos un vistazo rápido al uso básico de Cron. En el caso de cualquiera de los siguientes comandos, se configurará para el usuario raíz si se ejecuta con sudo privilegio. Para la demostración, he tomado un archivo de crontab de muestra desde aquí.

Para enumerar todos los trabajos cron programados para el usuario actual, ejecute el siguiente comando. Imprimirá todo el contenido del archivo CRONTAB.

$ crontab -l


Desea la lista de trabajo de Cron para un usuario diferente? Ejecute este comando en su lugar.

$ sudo crontab -u -l


Para editar el script crontab, ejecute el comando. Para editar el archivo CRONTAB para root, ejecute el siguiente comando con sudo privilegio.

$ crontab -e


Cada línea en el script crontab define una tarea. Aquí hay un desglose rápido de las entradas de Crontab.

ps

Aquí hay una lista de todos los valores posibles para todos estos campos. Si se usa un asterisco (*) en lugar de un valor numérico, se utilizará cada valor posible del campo.

  • Minuto: 0 a 59
  • Horas: 0 a 23
  • Día del mes: 1 a 31
  • Mes: 1 a 12
  • Día de la semana: 0 (domingo) a 6 (sábado)

Para obtener una guía en profundidad sobre cómo usar crontab para automatizar tareas, consulte cómo configurar los trabajos cron en Linux. Aquí hay otro ejemplo rápido de un trabajo de cron en ejecución cada minuto.

en
Si bien Cron es la forma principal de programación de tareas, AT ofrece la capacidad de ejecutar un comando/script en un momento específico o en un intervalo fijo, tenga en cuenta que AT ejecutará el trabajo de destino una vez, mientras que Cron volvería a ejecutar el trabajo en el intervalo. La herramienta AT es menos popular en comparación con Cron, pero es relativamente más fácil de usar. Puede usar ciertas palabras clave como la medianoche o la hora de los té (4 p.METRO.).

Esta herramienta no viene preinstalada en la mayoría de las distribuciones de Linux. Para instalar AT, ejecute el comando apropiado de acuerdo con su distribución.

Para Debian/Ubuntu y derivados.

$ Sudo apt instalación -y en


Para centos/rhel y derivados.

$ yum instalación en

Para Arch Linux y derivados.

$ sudo Pacman -s en

Para fedora y derivados.

$ sudo dnf instalación en

Después de que se complete la instalación, habilite el AT Daemon.

$ sudo systemctl Enable - -Now ATD.servicio


La forma en las obras es un poco diferente. Siempre que llame, debe definir el intervalo de ejecutar la tarea deseada. Por ejemplo, para ejecutar un cierto comando después de una hora, use el siguiente comando.

$ a ahora + 1 hora


Para ejecutar la tarea deseada a las 6 p.METRO., dentro de seis días, ejecute el siguiente comando en su lugar.

$ a las 6 p.m. + 6 días


Cuando ejecuta el comando, AT solicitará que los comandos se ejecute. Para salir de la solicitud AT, presione "Ctrl + D."AT presente un resumen de las tareas programadas y el tiempo que se ejecutarán.

Este es solo un uso básico. Una forma más consistente de usar AT podría ser ejecutar un script bash que contenga todas las tareas que deben realizarse. Interesado en aprender más sobre Scripting de Bash? Controlar

$ a las 6pm + 6 días -ff


Ejecute el comando para enumerar todos los trabajos pendientes.

$ ATQ


Tenga en cuenta que la salida enumerará todos los trabajos con un número de referencia específico en la columna izquierda. En caso de que desee eliminar un trabajo en cola, use el siguiente comando.

$ ATRM

Pensamientos finales

Programar una tarea, en el caso de Linux, es un trabajo muy simple. Aprenderlo por primera vez definitivamente requiere un poco de esfuerzo. Sin embargo, una vez aprendido, puede ser increíblemente útil. Una vez configurado, las tareas programadas seguirán ejecutándose.

Computación feliz!