crontab

Cómo programar una tarea en Linux?

Cómo programar una tarea en Linux?
Siempre que utilice un sistema operativo basado en UNIX, ciertas tareas deben realizarse repetidamente. Ejecutarlos manualmente cada vez es lento y, en general, ineficaz. Para resolver este problema, UNIX viene con sus programadores de tareas integrados. Estos programadores de tareas actúan como un reloj de alarma inteligente. Cuando suene la alarma, el sistema operativo ejecutará la tarea predefinida.

En el caso de Linux, viene con dos herramientas básicas pero poderosas: Cron daemon (programador de tareas predeterminado) y at (más adecuado para la programación de tareas de una sola vez).

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

Programar tareas en Linux

Cron
El demonio cron es responsable de ejecutar muchos trabajos en momentos específicos. Estas tareas generalmente se ejecutan en segundo plano en horarios 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 a algunos de los usos básicos de cron. En el caso de cualquiera de los siguientes comandos, se configurará para el usuario root si se ejecuta con el privilegio sudo. Para la demostración, tomé un archivo crontab de muestra de 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


Quiere la lista de trabajos 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 privilegio sudo.

$ crontab -e


Cada línea del 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 usarán todos los valores posibles 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 detallada sobre cómo usar crontab para automatizar tareas, consulte cómo configurar trabajos cron en Linux. Aquí hay otro ejemplo rápido de un trabajo cron que se ejecuta cada minuto.

a
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 utilizar determinadas palabras clave como medianoche o la hora del té (4 P.METRO.).

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

Para Debian / Ubuntu y derivados.

$ Sudo apt install -y en


Para CentOS / RHEL y derivados.

$ yum instalar en

Para Arch Linux y derivados.

$ sudo Pacman -S en

Para Fedora y derivados.

$ sudo dnf instalar en

Una vez completada la instalación, habilite el demonio at.

$ sudo systemctl enable --ahora atd.Servicio


La forma de trabajar es un poco diferente. Siempre que llame al, debe definir el intervalo de ejecución de la tarea deseada. Por ejemplo, para ejecutar un comando determinado después de una hora, use el siguiente comando.

$ ahora + 1 hora


Para ejecutar la tarea deseada a 6 P.METRO., seis días a partir de ahora, ejecute el siguiente comando en su lugar.

$ a las 6pm + 6 días


Cuando ejecute el comando, en le pedirá que se ejecuten los comandos. Para salir del indicador de at, presione "Ctrl + d.”En presentará un resumen de las tareas programadas y la hora a la 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 las secuencias de comandos de bash? Cheque

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