LINUX

Ejemplos de Crontab para programar trabajos de Cron en Linux

En este tutorial, le mostraré cómo configurar trabajos cron usando el archivo crontab de linux con ejemplos. El crontab de Linux le permitirá programar la ejecución de un trabajo a intervalos regulares en segundo plano.

Puede programar la ejecución de cualquier comando / script, colocarlo en el crontab del sistema Linux, para que se ejecute automáticamente a la hora programada y le envíe los detalles por correo electrónico.

1. Comando Crontab

una. Listado de trabajos cron

El siguiente comando enumerará los trabajos cron programados para el usuario que ha iniciado sesión actualmente:

# crontab -l

Si ha iniciado sesión como root, se mostrarán los trabajos cron configurados en el usuario root. Si desea mostrar los trabajos cron configurados bajo otro usuario, debe usar el siguiente comando:

# crontab -l -u username

B. Editar trabajos cron

Puede agregar o editar los trabajos cron para el usuario actualmente conectado de la siguiente manera:

# crontab -e

Esto abrirá un archivo donde podemos agregar / modificar el trabajo cron. En realidad, el archivo se encuentra en “/ var / spool / cron / username”. El comando “crontab –e” funcionará como abrir y editar el archivo en el editor “vi”.

Si desea modificar el trabajo cron de otro usuario, debe usar el comando:

# crontab -e -u username

C. Eliminar los trabajos cron

Si desea eliminar los trabajos cron del usuario que ha iniciado sesión actualmente, ejecute el siguiente comando:

# crontab -r

Esto eliminará todos los trabajos cron sin pedir confirmación. Si desea eliminar de forma interactiva, debe usar el siguiente comando:

# crontab -ir

Si desea eliminar los trabajos cron de otro usuario, ejecútelo como:

# crontab -ir -u username

D. Cargar trabajos cron desde un archivo

Si tiene un archivo con todos los trabajos cron programados, puede ejecutar el siguiente comando para cargar esos trabajos en crontab.

# crontab -u username cronfile.txt

Esto cargará los trabajos desde el archivo cronfile.txt.

2. Programación de un trabajo en crontab

La sintaxis de una entrada crontab es la siguiente:

Minute Hour DOM Month DOW Command_to_be_Executed

Minuto => En qué minuto se ejecutará el trabajo.
Hora => En qué hora debe ejecutarse el trabajo.
DOM => El día del mes en el que se debe ejecutar el trabajo
Mes => En qué mes se debe ejecutar el trabajo
DOW => El día de la semana en el que se debe ejecutar el trabajo.

Pasaremos por algunos ejemplos que lo aclararán.

3. Ejemplos de Crontab

Ejemplo 1: programar un trabajo cron para que se ejecute el 23 de mayo a las 10.30 a. M.

Esto se puede hacer con lo siguiente:

30 10 23 05 * sh /root/sh

Aquí,

30 => minuto 30
10 => décima hora
23 => día 23 del mes
06 => junio
* => Todos los días de la semana

Ejemplo 2: programar un trabajo para que se ejecute cada minuto

* * * * * sh /root/test.sh

Donde * = cada minuto
* = cada hora
* = todos los días
* = todos los días del mes
* = todos los días de la semana

Ejemplo 3: Programe un trabajo cron para que se ejecute cada 10 minutos.

Esto se puede configurar de dos formas.

0,10,20,30,40,50 * * * * sh /root/test.sh

Lo mismo se puede lograr con lo siguiente:

*/10 * * * * sh /root/test.sh

Ejemplo 4: Programe un trabajo cron para que se ejecute cada 5 minutos de lunes a viernes.

Esto se puede lograr con el siguiente trabajo cron

*/5 * * * 1-5 sh /root/test.sh

Aquí * / 5 se refiere a “cada 5 minutos y“ 1-5 ”se refiere a de lunes a viernes.

(0-6 = domingo a sábado)

Ejemplo 5: Programe un trabajo cron para que se ejecute a las “3.00 pm” todos los jueves.

00 15 * * 4 sh /root/test.sh

Aquí «00 15» se refiere a las 3.00 pm y «4» se refiere al «jueves».

4. Uso de palabras especiales en crontab

Podremos usar algunas palabras especiales en crontab para indicar un tiempo específico. La siguiente tabla muestra palabras tan especiales y su significado.

@reboot Run once, at startup
@yearly Run once in a year, similar to "0 0 1 1 *"
@monthly Run once in a month, similar to "0 0 1 * *"
@weekly Run once in a week, similar to "0 0 * * 0"
@daily Run once in a day, similar to "0 0 * * *"
@hourly Run once in an hour, similar to "0 * * * *”

Por ejemplo, puede programar un trabajo para que se ejecute a las 12 am todos los días de la siguiente manera:

@daily sh /root/test.sh

5. Manejo de la salida cron

una. Envío de informe a una dirección de correo

Puede configurar una dirección de correo en la que desea recibir las notificaciones de los trabajos cron ejecutados de la siguiente manera:

MAILTO=your@email.com

B. Si desea deshabilitar el envío de correo de salida, puede configurarlo de la siguiente manera

* * * * * sh /root/test.sh > /dev/null 2>&1

donde 2 se refiere a «STDERR» (errores) y 1 se refiere a STDOUT (salida estándar). Por lo tanto, «2> & 1» hará que se creen errores y resultados en un flujo de datos. Por lo tanto, el flujo de datos (tanto los errores como la salida) se enviará a / dev / null, un archivo de dispositivo especial que descartará todos los datos escritos en él sin notificación.

C. Si desea descartar los correos electrónicos de salida pero requiere que se envíe el correo en caso de errores, debe configurarlo de la siguiente manera

* * * * * sh /root/test.sh > /dev/null

Conclusión

En este tutorial aprendimos cómo funciona cron en Linux para programar trabajos cada minuto, hora o por días. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuación.

Lea también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar