crontab

Crontab en Linux

Crontab en Linux
Con la llegada de las nuevas tecnologías, queremos que todo esté automatizado, incluidos nuestros sistemas informáticos. Por ejemplo, como administrador del sistema, es posible que deseemos que nuestra copia de seguridad se ejecute todas las noches a las 2:00 a. M. Entonces, ¿cuál es el propósito de las computadoras si tenemos que despertarnos todos los días a las 2:00 am y ejecutar los comandos manualmente para iniciar la copia de seguridad?. Debe haber una forma que le indique al sistema que ejecute automáticamente una copia de seguridad en un momento específico. Afortunadamente, el sistema operativo Linux ofrece una utilidad cron que permite automatizar tareas en un período específico.

Cron es una utilidad de línea de comandos eficaz y popular que se utiliza para programar una amplia gama de tareas en un momento específico sin la interacción del usuario. Las tareas programadas se conocen como trabajos cron, mientras que crontab es la lista del archivo que contiene los trabajos cron.

En este artículo, explicaremos con varios ejemplos de programas que puede editar y usar el archivo crontab para programar tareas en el sistema Debian 10.

Cron se puede utilizar para automatizar tareas en los siguientes escenarios:

Sintaxis

Es más fácil trabajar con cron, una vez que comprenda su sintaxis. La sintaxis general para usar cron es:

* * * * / ruta / a / script.sh

Cada uno de los campos corresponde a lo siguiente:

Minuto (0-59) Hora (0-24) Día_del_Mes (1-7) Mes_del_año (1-12)
Comando Day_of_the_Week (0-6)

Instalación de Cron

Cron viene preinstalado en Debian 10. Sin embargo, si falta en su sistema, ejecute el siguiente comando para instalarlo:

$ sudo apt install cron

Ver crontab

Para ver el archivo crontab, use el siguiente comando:

$ crontab -l

Para ver el archivo crontab de un usuario en particular, use el siguiente comando:

$ sudo crontab -u usuario -l

Editar crontab

Para editar el archivo crontab del usuario actual:

$ crontab -e

Para editar el archivo crontab de un usuario en particular:

$ sudo crontab -u usuario

Si está editando el archivo crontab por primera vez, se le pedirá que elija un editor:

Una vez que seleccione el editor, aparecerá la siguiente ventana.

Por ejemplo, desea ejecutar una secuencia de comandos de copia de seguridad llamada "copia de seguridad.sh ”ubicado en el directorio de documentos todos los días a las 2:00 am. Para hacerlo, deberá agregar la siguiente línea en su archivo crontab:

0 2 * * * / Documentos / copia de seguridad.sh

En la ventana anterior, puede agregar sus trabajos cron uno por uno. Una vez hecho esto, guarde y salga del archivo; luego, todos los trabajos cron se ejecutarán automáticamente en el intervalo especificado.

Quitar crontab

Para eliminar el archivo crontab, ingrese el siguiente comando en la Terminal:

$ crontab -r

Ahora veamos una serie de ejemplos de trabajos cron en una máquina Linux.

1. Ejecuta un trabajo cron cada minuto

Para ejecutar un trabajo cron cada minuto, agregue la siguiente línea en su archivo crontab:

* * * * * / ruta / a / script.sh

2. Ejecuta un trabajo cron cada 10 minutos

Para programar un trabajo cron para que se ejecute cada 10 minutos, agregue la siguiente línea en su archivo crontab.

* / 10 * * * * / ruta / a / script.sh

3. Ejecuta un trabajo cron en meses específicos

Para programar un trabajo cron para que se ejecute en meses específicos e.gramo. Marzo, agosto, diciembre, agregue el trabajo cron en su archivo crontab de la siguiente manera:

* * * enero, mayo, agosto * / ruta / a / script.sh

4. Ejecuta un trabajo cron en días seleccionados

Si desea que su trabajo cron se ejecute en los días seleccionados, supongamos que el domingo y el viernes a las 5 p. M., Debería verse así.

0 17 * * sol, vie / ruta / a / script.sh

5. Ejecuta un trabajo cron todos los días a una hora específica

Para programar un trabajo cron para que se ejecute diariamente a una hora específica, digamos a las 3 am, agregue esta línea en su archivo crontab.

0 3 * * * / ruta / a / script.sh

6. Ejecuta un trabajo cron en un día específico

Para programar un trabajo cron para que se ejecute en un día específico, digamos todos los domingos, agregue esta línea en su archivo crontab.

0 0 * * SUN / ruta / a / script.sh

El trabajo se ejecutará a las 00:00 todos los domingos.

7. Ejecute varias tareas en un solo trabajo cron

Para programar varias tareas en un solo trabajo cron, agregue todos los scripts en su archivo crontab separándolos con un punto y coma.

* * * * * / ruta / a / script1.sh; / ruta / a / script2.sh

8. Ejecute un trabajo cron en cada día laborable

Para programar un trabajo cron para que se ejecute todos los días de la semana, de lunes a viernes, deberá agregar esta línea en su archivo crontab.

0 0 * * 1-5 / ruta / a / script.sh

El trabajo se ejecutará a las 00:00 todos los días de la semana.

9. Ejecuta un trabajo cron dos veces al día

Para programar un trabajo para que se ejecute dos veces al día e.gramo. a las 6 am y a las 3 pm, deberá agregar esta línea en su archivo crontab:

0 6,15 * * * / ruta / a / script.sh

10. Ejecuta un trabajo cron cada hora

Para programar un trabajo cron para que se ejecute cada hora en el minuto 0, deberá agregar esta línea en su archivo crontab:

0 * * * * / ruta / a / script.sh

Por ejemplo, si la hora actual es a las 2 p.m., el trabajo se ejecutará a las 3:00 p.m., 4:00 p.m. y así sucesivamente.

11. Ejecute un trabajo cron después de cada 3 horas

Para programar un trabajo cron para que se ejecute cada 3 horas en el minuto 0, deberá agregar esta línea en su archivo crontab:

0 * / 3 * * * / ruta / a / script.sh

Por ejemplo, si la hora actual son las 2 p.m., el trabajo se ejecutará a las 5:00 p.m., 8:00 p.m. y así sucesivamente.

12. Ejecute el trabajo cron a las 4:00 p. M. El primer día de cada mes

Para programar un trabajo para que se ejecute el primer día de cada mes a las 4:00 pm, deberá agregar esta línea en su archivo crontab:

0 16 1 * * / ruta / a / script.sh

Cadenas en Crontab

También puede utilizar las siguientes cadenas en lugar de los largos comandos repetitivos.

@ hourly- Ejecuta el trabajo cron cada hora i.mi. "0 * * * *"
@ midnight- Ejecuta el trabajo cron todos los días i.mi. "0 0 * * *"
@ diario- igual que la medianoche
@ Weekly- Ejecuta el trabajo cron cada semana, i.mi. "0 0 * * 0"
@ Monthly- Ejecute el trabajo cron todos los meses i.mi. "0 0 1 * *"
@ anualmente- Ejecuta el trabajo cron todos los años i.mi. "0 0 1 1 *"
@ anualmente- igual que @anualmente
@ reboot: ejecuta el trabajo cron en cada arranque

Por ejemplo, para ejecutar el trabajo cron todos los días durante el primer minuto y la primera hora, agregue la siguiente línea:

@diaria / ruta / a / script.sh

Por ejemplo, para ejecutar el trabajo cron cada vez que se reinicia el servidor:

@reboot / ruta / a / script.sh

Eso es todo lo que hay que hacer! En este artículo, hemos aprendido cómo automatizar varias tareas usando crontab en el sistema Debian. Al utilizar los ejemplos anteriores, puede programar cualquier tipo de trabajo para que se inicie sin la interacción del usuario.

Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...